파일을 열었을 때 프린터를 Microsoft Print to PDF로 지정하는 방법

VBA
작성자
iviolin****
작성일
2021-01-12 22:21
조회
63
1.파일을 열었을 때에 파일의 기본 프린터를 Microsoft Print to PDF로 지정하는 메크로를 알고 싶습니다.



2.그리고 프린터 설정에서 프린터를 선택하니

Ne00:에 있는 Microsoft XPS Document Writer

라고 나오고 다른 프린터들도 "Ne**에 있는" 이 다 있던데 왜 나오는건가요?

3.저 프린트 설정을 열었을 때 확인을 눌렀을때 의 Msgbox와 취소를 눌렀을 때의 Msgbox를 달리하고 싶은데 코드를 어떻게 해야하나요..

Application.Dialogs(xlDialogPrinterSetup).Show

로 프린터 설정창을 열었는데

어떠한 변수에다가 확인/취소의 값을 넣고 싶습니다.
회원등급 : 나무3단계
포인트 : 3153 EP
총질문 : 24 개 (마감율 : 25%)
채택답변 : 16 개
전체 4

  • 2021-01-13 13:10

    안녕하세요.

    아래 명령문을 사용하면 기본 프린터를 바꿀 수 있습니다.

    Dim mynet As Object
    Set mynet = CreateObject("WScript.network")
    mynet.setdefaultprinter "Microsoft Print to PDF"

    아래 명령문을 사용하면 취소를 눌렀을 때 동작을 지정할 수 있습니다.

    Application.Dialogs(xlDialogPrinterSetup).Show
    If vbCancel Then
    MsgBox "취소됨"
    Else
    '동작할 명령문
    Exit Sub

    제시해드린 답변이 도움이 되셨길 바랍니다. 감사합니다. 🙂


    • 2021-01-13 20:03

      답변 감사드립니다.

      그런데 실무에 적용할려다 보니 뭔가 이상해서 글을 다시 적습니다.

      실무에서는

      Dim mynet As Object
      Set mynet = CreateObject("WScript.network")
      mynet.setdefaultprinter "Microsoft Print to PDF"
      

      명령문이 먹지를 안습니다...
      집에와서 따로 예시파일을 만들어도 vbcancel코드가 이상하게 작동합니다...
      디버그로 확인해보니 확인을 누르던 취소를 누르던 If 구문이 실행됩니다.
      vbcancel이 확인,취소 둘다 반응해서 이상한 결과가 나옵니다.
      취소를 누르면 Microsoft to PDF가 프린터설정에서 다른 프린터를 선택하고 확인을 누르면 그에 해당하는 프린터가 프린터로 지정되는 메크로를 알고 싶습니다.

      첨부파일 : 프린터설정-메크로.xlsm


      • 2021-01-14 12:04

        안녕하세요.

        말씀하신 프린터 설정이, 윈도우의 기본 프린터가 아닌 엑셀의 인쇄용 프린터 설정을 말씀하시는건가요?

        그러시다면, 아래 명령문을 사용해보세요.

        Sub 엑셀인쇄프린터변경()
        
        Dim myNet As Object
        Dim cPrint As Long
        Dim PrinterName As String: PrinterName = "Microsoft Print to PDF"
        Set myNet = CreateObject("WScript.Network")
        
        cPrint = myNet.enumprinterconnections.Count
        
        On Error Resume Next
        For i = 1 To cPrint
        Application.ActivePrinter = "Ne" & Format(i, "00") & ":에 있는 " & PrinterName
        If Application.ActivePrinter = "Ne" & Format(i, "00") & ":에 있는 " & PrinterName Then Exit For
        Next
        
        End Sub

        프린터 다이알로그 명령문은 아래처럼 사용해보시길 바랍니다.

        yn = Application.Dialogs(xlDialogPrinterSetup).Show
        If yn = False Then
        MsgBox "취소됨"
        Else
        '동작할 명령문
        End If

        제시해드린 답변이 도움이 되셨길 바랍니다. 감사합니다.


        • 2021-01-14 22:07

          답변 감사드립니다.

          가르쳐 주신 방법으로 프린터에 따른 차트의 높이,넓이 변화와 그에따른 프린트 영역을 바꾸는 메크로를 구현하고있습니다.

          그런데 프린터 설정에서 어떠한 프린터를 설정하고 그 프린터에서 A3를 지원하지 않는다면 다시 프린터설정을 열어서 프린터를 설정하는 메크로를 구현하려 했습니다.

          WorkBook Open()

          에 다 쓸려니 너무 길어질거 같아서 새로운 모듈을 만들고

          Call()을 사용해서 모듈을 불러오는 방식을 사용했습니다.

          프린터 설정에서 어떠한 프린터를 선택후 확인을 눌렀을 때에 그 프린터가 A3를 지원하지 않는다면

          이 창이 뜨기에 이걸 On Error Goto 를 써서 진행하려 했습니다.

          With ThisWorkbook.Worksheets("Sheet1").PageSetup
          On Error GoTo ReSettingPrint
          .PaperSize = xlPaperA3
          End With

          ReSettingPrint를 새로운 모듈에다가 쓰고 WorkBook_Open()에 쓰니

          컴파일오류 입니다: 레이블이 정의되지 않았습니다.

          라고 하는데 만약 프린터의 용지를 A3로 설정할때 그 프린터가 A3를 지원하지 않는다면 다시 WorkBook_Open()쪽으로 와서 프린터 설정을 여는 메크로를 알 수 있을까요?

          첨부파일 : 프린터설정-메크로.xlsm


전체 2,059
번호 카테고리 제목 작성자 작성일 추천 조회
2051 VBA
New 매크로 버큰 문의요청 첨부파일
작은소녀 | 06:21 | 추천 0 | 조회 14
작은소녀 06:21 0 14
2050 VBA
New 리스트 박스 표시 형식 변경
새우튀김 | 01:08 | 추천 0 | 조회 17
새우튀김 01:08 0 17
2049 VBA
New IMPORTHHTML 함수 추가기능 vba구현
이예본 | 2021.01.15 | 추천 0 | 조회 13
이예본 2021.01.15 0 13
2048 기능/도구
New 혹시 이모지 질문입니다.
조민성 | 2021.01.15 | 추천 0 | 조회 23
조민성 2021.01.15 0 23
2047 기능/도구
New 메일머지에 사진 나오게 하는법
욕심없는성공v | 2021.01.15 | 추천 0 | 조회 29
욕심없는성공v 2021.01.15 0 29
2046 함수/공식
New 초보입니다ㅠ 호봉을 자동으로 구하고 싶어요~ (2)
eggs**** | 2021.01.15 | 추천 0 | 조회 42
eggs**** 2021.01.15 0 42
2045 함수/공식
New 년도별 금액평균을 구하고 싶어요 첨부파일 (1)
DDD | 2021.01.15 | 추천 0 | 조회 40
DDD 2021.01.15 0 40
2044 함수/공식
New 수량별 개수 곱합 후 합계금액 구하기 첨부파일 (2) 답변완료
민준맘 | 2021.01.15 | 추천 0 | 조회 35
민준맘 2021.01.15 0 35
2043 VBA
New 시트 합치기는 나오는데 여러개 엑셀파일 통합은 어떻게 하나요? 첨부파일 (1)
wbyu**** | 2021.01.15 | 추천 0 | 조회 35
wbyu**** 2021.01.15 0 35
2042 피벗테이블
New 피벗 원데이터에 공백이 있을경우 (3)
H.B | 2021.01.15 | 추천 1 | 조회 37
H.B 2021.01.15 1 37
2041 기능/도구
New 인터넷 연결 및 API 오류 해결 도와주세요. 하라신 3가지 다했는데 안되네요 (1)
susu | 2021.01.15 | 추천 0 | 조회 23
susu 2021.01.15 0 23
2040 VBA
New VBA Form 실행 위치 관련 (2) 답변완료
새우튀김 | 2021.01.15 | 추천 0 | 조회 27
새우튀김 2021.01.15 0 27
2039 기능/도구
New 엑셀 셀병합시 궁금한점 질문드려요 (4)
huni0211 | 2021.01.15 | 추천 1 | 조회 44
huni0211 2021.01.15 1 44
2038 함수/공식
New 시트일별합산금액 원하는 셀에 날짜별로 표시하기 첨부파일 (5) 답변완료
민준맘 | 2021.01.14 | 추천 0 | 조회 52
민준맘 2021.01.14 0 52
2037 함수/공식
New 합계중 가장 큰 값을 구해 일련번호를 구하는 방법을 알고 싶습니다. 첨부파일 (5) 답변완료
수에이드 | 2021.01.14 | 추천 0 | 조회 30
수에이드 2021.01.14 0 30
2036 함수/공식
New 근속차월수를 기준으로 입사년월을 역계산하는 방법 첨부파일 (1)
블링블링 | 2021.01.14 | 추천 0 | 조회 23
블링블링 2021.01.14 0 23
2035 VBA
New 웹크롤링 Class 질문입니다. (3)
후훗카카 | 2021.01.14 | 추천 0 | 조회 33
후훗카카 2021.01.14 0 33
2034 함수/공식
New 순이익 파악을 할때에 어떻게 해야 할까요? (1)
박준규 | 2021.01.14 | 추천 0 | 조회 26
박준규 2021.01.14 0 26
2033 기능/도구
New 아이콘 추가 관련해서 질문합니다 첨부파일 (1) 답변완료
조민성 | 2021.01.14 | 추천 0 | 조회 22
조민성 2021.01.14 0 22
2032 함수/공식
New 조건에 맞는 항목 찾아서 정렬해주는 방법 (1)
켄타로 | 2021.01.14 | 추천 0 | 조회 37
켄타로 2021.01.14 0 37
2031 함수/공식
New 구매처 제품별 최초 구매일과 최근 구매일을 확인하는 함수를 알고 싶어요. 첨부파일 (2) 답변완료
아라 | 2021.01.14 | 추천 0 | 조회 40
아라 2021.01.14 0 40
2030 함수/공식
New 고급필터 상위 수량 최대 10개만 추출할 수 있나요? (1)
naver_5f697d4255690 | 2021.01.14 | 추천 0 | 조회 23
naver_5f697d4255690 2021.01.14 0 23
2029 VBA
New 안녕하세요. 스마트스토어 관련 자료도 크롤링 가능한가요? (1)
부자가될꾸얏 | 2021.01.14 | 추천 0 | 조회 25
부자가될꾸얏 2021.01.14 0 25
2028 기능/도구
New SendKakao 기능을 이용해서 이미지를 동시에 송출하려고 하는데... (2) 답변완료
EXCELCHOBO | 2021.01.14 | 추천 0 | 조회 35
EXCELCHOBO 2021.01.14 0 35
2027 피벗테이블
New 피벗관련 간단 질문사항 첨부파일 (2) 답변완료
H.B | 2021.01.14 | 추천 1 | 조회 31
H.B 2021.01.14 1 31
2026 함수/공식
New 문서 고유번호 매기기 (3)
왜사는건지 | 2021.01.14 | 추천 0 | 조회 36
왜사는건지 2021.01.14 0 36
2025 문서서식
New 조건부서식 동적범위 첨부파일 (2)
두부 | 2021.01.14 | 추천 0 | 조회 36
두부 2021.01.14 0 36
2024 차트/그래프
New 엑셀 실시간 주식 차트 만들기 | 엑셀차트10강 (5)
yk**** | 2021.01.14 | 추천 0 | 조회 44
yk**** 2021.01.14 0 44
2023 함수/공식
New 엑셀 수식 입력 단축키 (2)
체리빵 | 2021.01.13 | 추천 0 | 조회 51
체리빵 2021.01.13 0 51
2022 기능/도구
New 시트에 있는 도형 삭제않되게 할수 있나요? (4) 답변완료
이하늘 | 2021.01.13 | 추천 0 | 조회 26
이하늘 2021.01.13 0 26