SendKeys를 통한 프린터 트레이 설정

VBA
작성자
iviolin****
작성일
2022-03-15 11:49
조회
193
엑셀버전 : M365

운영체제 : 윈도우10

회사에서 엑셀 시트에 따른 프린트 Tray를 개별로 설정해 인쇄하는 작업을 하고있습니다.

다만 Tray를 SendKeys로 받아올려구

Application.SendKeys "%psp%o{TAB}{ENTER}{DOWN}•••으로 했는데

%psp%o로 페이지 설정 창에서 옵션을 선택하는 것 까지는 sendkeys에서 반영이 되는데 그 이후 TAB, ENTER DOWN은 반영이 안됩니다.

프린터 속성창이 뜬 이후에도 sendkeys가 반영이 되게 하려면 어떤 방법이  있을까요?

회원등급 : 30레벨
포인트 : 7337 EP
총질문 : 34 개 (마감율 : 38%)
채택답변 : 113 개
전체 5

  • 2022-03-15 16:04

    @iviolin**** 님 확실하진 않지만.. 혹시 {TAB} 키 -> 엔터 -> 다운이 순서대로 눌리지 않고 한 번에 눌려서 그런게 아닐까요?

    Application.SendKeys 탭
    Application.Wait DateAdd("s", 1, Now)
    Application.SendKeys 엔터
    Application.Wait DateAdd("s", 1, Now)
    ... 다음 키

    형태로 구현하면 해결될 것 같습니다


    • 2022-03-15 18:50

      @엑셀은즐거워 님 그 방법은 사무실에서 몇일전에 시도한방법이였었습니다... 해당 구문을 Application.wait Now() + Timevalue("00:00:01")으로 1초 지연시킨 뒤 입력받기도 했는데 안됬었습니다...ㅠㅠ


      • 2022-03-16 22:09

        @iviolin**** 님 제 pc에서는 아래 코드를 사용하니 프린트가 잘 됩니다..

        아마 윗분 말씀처럼 설정에 따라 조금씩 달라서 그런게 아닐까 생각됩니다

        Sub test()
        
        SendKeys "^p"
        For i = 1 To 100000: i = i + 1: Next
        SendKeys "{Enter}"
        For i = 1 To 1000000: i = i + 1: Next
        SendKeys "{Enter}"
        For i = 1 To 100000: i = i + 1: Next
        SendKeys "{Enter}"
        
        End Sub
        

         


  • 2022-03-16 11:26

    @iviolin**** 님 프린터의 옵션은 엑셀 Application 내에서 일어나는 일이 아니므로 Sendkeys 로는 원하시는 바를 구현하기 어려울 것 같습니다.


  • 2022-03-16 12:22

    @iviolin**** 님 제가 쓸 일이 없어서 자세히는 모르지만 검색해 보니 Application.Sendkeys 방식은 PC마다, 설치된 프린터마다 달라서 구문을 적절히 수정해야 하나 봅니다.

    Sub ChangeTrayAndPrint()
        ' selects the manual page tray and prints the selected sheet(s)
        Application.SendKeys "%fu%e{TAB}{DOWN}{DOWN}{TAB}m~~", True
    End Sub

     

    또한 API로 프린터 세팅에 접근하는 방식도 있다고 하니 참고해 보시면 좋을 것 같습니다.

    출처 : https://www.mrexcel.com/board/threads/excel-printing-vba-code-tray-selection.38658/

     

    ' SetPrinterTray
    '
    ' Programmatically set the input source flag for the specified printer
    ' driver's default properties for paper input bin.
    '
    ' Returns: True on success, False on error. (An error will also
    
    ' display a message box. This is done for informational value
    ' only. You should modify the code to support better error
    ' handling in your production application.)
    '
    ' Parameters:
    ' sPrinterName - The name of the printer to be used.
    '
    ' nBinSetting - One of the following standard settings:
    ' 1 = Upper
    ' 2 = Lower
    ' 3 = Middle
    ' 4 = Manual
    ' 5 = Envelope
    ' 6 = Envelope Manual
    ' 7 = Auto
    ' 8 = Tractor
    ' 9 = Small Format
    ' 10 = Large Format
    ' 11 = Large Capacity
    '
    ' ==================================================================
    Public Function SetPrinterTray(ByVal sPrinterName As String, _
    ByVal nBinSetting As Long) As Boolean
    
    Dim hPrinter As Long
    Dim pd As PRINTER_DEFAULTS
    Dim pinfo As PRINTER_INFO_2
    Dim dm As DEVMODE
    .
    .
    .
    
    

     


전체 6,892
번호 카테고리 제목 작성자 작성일 추천 조회
알림
📌 -- VBA 기초-활용 4주 완성, 특별 스터디 모집을 시작합니다! (모집 마감) -- 📌 (98)
오빠두엑셀 | 2022.06.23 | 추천 144 | 조회 17726
오빠두엑셀 2022.06.23 144 17726
공지사항 함수/공식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (79)
오빠두엑셀 | 2021.10.28 | 추천 98 | 조회 5343
오빠두엑셀 2021.10.28 98 5343
39034 VBA
New 자동화 프로그램 항목 추가 관련
유라 | 03:47 | 추천 0 | 조회 18
유라 03:47 0 18
39032 VBA
New VBA 고급자동필터 활용 조건 값이 비워 있을 때 결과 값도 안 나오게 하는 방범 문의 합니다. 첨부파일
파란맥 | 03:13 | 추천 0 | 조회 16
파란맥 03:13 0 16
39019 함수/공식
New 엑셀 수식시 범위부분이 절대값이 안되요 첨부파일 (2)
skih**** | 2022.07.05 | 추천 0 | 조회 21
skih**** 2022.07.05 0 21
39016 함수/공식
New vlookup으로 가져온 알파벳을 특정숫자로 바꾸는 방법(쌩초보) (1)
방성희 | 2022.07.05 | 추천 -2 | 조회 25
방성희 2022.07.05 -2 25
39014 VBA
New 열 추가 문의 첨부파일 (2)
오대표 | 2022.07.05 | 추천 0 | 조회 25
오대표 2022.07.05 0 25
39009 함수/공식
New index,match 함수 중에서 동일한 값이 나올때 첨부파일 (2) 답변완료
최사무엘 | 2022.07.05 | 추천 0 | 조회 21
최사무엘 2022.07.05 0 21
39007 함수/공식
New VLOOKUP 조건에 맞는 것을 계속해서 나열하고 싶을 때 첨부파일 (1)
야자키겐스케 | 2022.07.05 | 추천 0 | 조회 29
야자키겐스케 2022.07.05 0 29
39003 함수/공식
New 셀에서 영어만 추출하기 엑셀파일첨부파일 (2) 답변완료
킹셀 | 2022.07.05 | 추천 0 | 조회 23
킹셀 2022.07.05 0 23
38996 VBA
New 현재 열넓이 확인후 20 더하는 방법 (1)
033cola | 2022.07.05 | 추천 0 | 조회 33
033cola 2022.07.05 0 33
38990 함수/공식
New 중복값중에 하나만 더하기 엑셀파일첨부파일 (2) 답변완료
DS | 2022.07.05 | 추천 0 | 조회 25
DS 2022.07.05 0 25
38987 함수/공식
New 행 열이 모두 숫자입니다. 첨부파일 (1)
DOUKCHEON 이재형 | 2022.07.05 | 추천 0 | 조회 26
DOUKCHEON 이재형 2022.07.05 0 26
38983 함수/공식
New 카드번호별로 시트를 만들 수 있는 방법을 알고 싶습니다! - 관련 엑셀첨부 엑셀파일첨부파일 (1)
showtime**** | 2022.07.05 | 추천 0 | 조회 39
showtime**** 2022.07.05 0 39
38982 파워쿼리/피벗
New 파워쿼리에서 영문과 숫자만 순서대로 추출 (4)
아코니 | 2022.07.05 | 추천 0 | 조회 36
아코니 2022.07.05 0 36
38981 구글시트
New COUNTIF 함수와 SUBTOTAL 엑셀파일첨부파일
거꾸로문 | 2022.07.05 | 추천 0 | 조회 21
거꾸로문 2022.07.05 0 21
38979 문서서식
New 서로 다른 엑셀 파일 비교 첨부파일 (2)
notice | 2022.07.05 | 추천 0 | 조회 26
notice 2022.07.05 0 26
38976 함수/공식
New BOM 오류 확인 방법 문의 첨부파일 (4)
터브가이황 | 2022.07.05 | 추천 0 | 조회 30
터브가이황 2022.07.05 0 30
38973 VBA
New 점수가 6점이상만 시트2에 표기하는 VBA 또는 매크로 표기하는 방법 문의 합니다. 엑셀파일첨부파일 (4) 답변완료
파란맥 | 2022.07.05 | 추천 0 | 조회 36
파란맥 2022.07.05 0 36
38972 함수/공식
New 함수표현식을 Ctrl + x 사용하여 가져올때, Sheet 참조 제거하는법 (3)
JH | 2022.07.05 | 추천 0 | 조회 36
JH 2022.07.05 0 36
38970 VBA
New VBA 1주차 공부하면서 응용해보다가 (2) 답변완료
daniel | 2022.07.05 | 추천 0 | 조회 31
daniel 2022.07.05 0 31
38959 기능/도구
New 데이터 분할 방법 엑셀파일첨부파일 (1)
dfgkdflglkdf | 2022.07.04 | 추천 0 | 조회 23
dfgkdflglkdf 2022.07.04 0 23
38948 문서서식
New 액셀 카카오톡 문자보내기 자동화 양식 그림 카톡 보내기 오류 해결 방법 문의 드립니다! 첨부파일
ROLLUP | 2022.07.04 | 추천 0 | 조회 25
ROLLUP 2022.07.04 0 25
38942 문서서식
New 안녕하세요 엑셀 날짜변환에 대해서 질문드립니다. (3)
겸둥이k | 2022.07.04 | 추천 0 | 조회 40
겸둥이k 2022.07.04 0 40
38940 함수/공식
New IF함수 순자적으로 조건 적용되도록 만들고 싶어요 엑셀파일첨부파일 (3)
마운틴 | 2022.07.04 | 추천 0 | 조회 44
마운틴 2022.07.04 0 44
38939 VBA
New 특정조건일경우 값 입력 (4) 답변완료
천하무적 | 2022.07.04 | 추천 0 | 조회 34
천하무적 2022.07.04 0 34
38932 VBA
New 재고관리 프로그램 중 등록시 '13런타임 오류'나는데 모르겠어요 첨부파일 (1)
파랑지니 | 2022.07.04 | 추천 0 | 조회 28
파랑지니 2022.07.04 0 28
38909 파워쿼리/피벗
New 파워쿼리 작성 엑셀파일 (2) 답변완료
당신을축복하는올빼미 | 2022.07.04 | 추천 0 | 조회 45
당신을축복하는올빼미 2022.07.04 0 45
38907 함수/공식
New INDEX + MATCH 함수 에러 문제관련 (2)
brain hoon | 2022.07.04 | 추천 -2 | 조회 38
brain hoon 2022.07.04 -2 38
38905 VBA
New [1주차]VBA 미션... 다들 해보셧나요? 도움 좀..ㅠ 첨부파일 (3)
배성철 | 2022.07.04 | 추천 0 | 조회 34
배성철 2022.07.04 0 34
38899 함수/공식
New 어떤 함수를 써야 될지 (4)
정상진 | 2022.07.04 | 추천 0 | 조회 47
정상진 2022.07.04 0 47
38895 대시보드
New 데이터 입력시 자동으로 보고서 작성 첨부파일 (2)
bmmania | 2022.07.04 | 추천 0 | 조회 41
bmmania 2022.07.04 0 41