파일을 열었을 때 프린터를 Microsoft Print to PDF로 지정하는 방법
VBA
작성자
iviolin****
작성일
2021-01-12 22:21
조회
7908
1.파일을 열었을 때에 파일의 기본 프린터를 Microsoft Print to PDF로 지정하는 메크로를 알고 싶습니다.
2.그리고 프린터 설정에서 프린터를 선택하니
Ne00:에 있는 Microsoft XPS Document Writer
라고 나오고 다른 프린터들도 "Ne**에 있는" 이 다 있던데 왜 나오는건가요?
3.저 프린트 설정을 열었을 때 확인을 눌렀을때 의 Msgbox와 취소를 눌렀을 때의 Msgbox를 달리하고 싶은데 코드를 어떻게 해야하나요..
Application.Dialogs(xlDialogPrinterSetup).Show
로 프린터 설정창을 열었는데
어떠한 변수에다가 확인/취소의 값을 넣고 싶습니다.
전체 18,458
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
![]() ![]() |
![]() ![]() |
2022.02.03 | 572 | 599158 | ||
공지사항 | 문서서식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(197)
오빠두엑셀
|
2021.10.28
|
추천 310
|
조회 34865
|
![]() ![]() |
2021.10.28 | 310 | 34865 |
78396 | 함수/공식 |
New 직원별로 근태 합계를 확인하고 싶어요
![]() ![]() |
![]() |
13:50 | - | 33 |
78395 | 함수/공식 |
New 특정 단어를 포함한 행 골라내는 방법에 대해 문의드립니다.
(3)
답변완료
![]() |
![]() |
13:36 | - | 23 |
78392 | 함수/공식 |
New 도와주세요... ( 특정값에 해당하는 반 번호 찾아 목록만들기)
![]() ![]() ![]() |
![]() |
13:02 | - | 17 |
78389 | 기능/도구 |
New 오빠두LIVE 196회 - 엑셀 프로젝트 관리 _ 일,주 바꾸는법
![]() ![]() |
![]() |
09:21 | - | 37 |
78387 | 함수/공식 |
New 엑셀 관련 질문입니다. SUM과 IFERROR 입니다 ㅠ
(6)
![]() |
![]() |
2025.04.27 | - | 84 |
78382 |
New Excel 추세선 이상
![]() ![]() |
![]() |
2025.04.27 | - | 61 | |
78381 | 함수/공식 |
New 같은 이름 N 번째 데이터
![]() ![]() ![]() |
![]() |
2025.04.27 | 1 | 96 |
78380 | 함수/공식 |
New On Error Resume Next 문구를 삽입하는 위치는?
(2)
![]() |
![]() |
2025.04.27 | - | 65 |
78376 | 함수/공식 |
New 지역별 증감금액 확인
![]() ![]() |
![]() |
2025.04.26 | - | 65 |
78374 | 함수/공식 |
New index를 활용한 조건에 맞는 금액을 찾는 방법
![]() ![]() ![]() |
![]() |
2025.04.26 | - | 76 |
78372 | 기능/도구 |
New 표서식 차이 문의
![]() ![]() |
![]() |
2025.04.25 | - | 54 |
78370 | 피벗테이블 |
New (피벗테이블) 2024년 2025년 판매 TOP10 비교데이터
![]() ![]() |
![]() |
2025.04.25 | - | 76 |
78369 | 구글시트 |
New 엑셀을 구글 시트와 연동하는 법
(1)
![]() |
![]() |
2025.04.25 | - | 58 |
78368 | 함수/공식 |
New 곱하기 계산시 0일때도 계산하고 싶습니다
![]() ![]() |
![]() |
2025.04.25 | - | 71 |
78366 |
New 엑셀 일정 범위 내 최대값 가져오기 함수식 문의 (조건 있음)
![]() ![]() |
![]() |
2025.04.25 | - | 54 | |
78358 |
New 파워포인트 글씨 굵게
(1)
![]() |
![]() |
2025.04.24 | - | 31 | |
78354 | 문서서식 |
New 구글스프레드시트 숨기기 질문이에요!
![]() ![]() |
![]() |
2025.04.24 | - | 54 |
78352 | 피벗테이블 |
New 여러 피벗테이블 하나의 슬라이서로 동작과 테이블간 관계 만들기 문의
![]() ![]() ![]() |
![]() |
2025.04.24 | - | 74 |
78347 | 대시보드 |
New 대시보드 결과 값끼리 열 비교하기
(4)
![]() ![]() |
![]() ![]() |
2025.04.24 | - | 69 |
78346 | 함수/공식 |
New 요일별 색상 구분
![]() ![]() |
![]() |
2025.04.24 | - | 79 |
78344 | VBA |
New 첫 셀에만 수식입력하면 열 전체가 자동으로 수식 적용되는 기능 푸는방법 문의
![]() ![]() |
![]() |
2025.04.24 | - | 101 |
78342 |
New 만년 달력 관련 도와주세요.ㅠㅠ
![]() |
![]() |
2025.04.24 | - | 50 | |
78341 | 함수/공식 |
New sumproduct 조건에 관해서
(1)
![]() |
![]() |
2025.04.24 | - | 77 |
78340 | 피벗테이블 |
New 다중영역 피벗테이블에서 영역을 표만들기로 적용하는 경우 오류발생, 원인을 모르겠습니다
![]() ![]() ![]() ![]() |
![]() ![]() |
2025.04.24 | - | 47 |
78339 | 함수/공식 |
New 엑셀이느려집니다 ㅠ 자동견적서만드는데 VLOOKUP을 너무많이써서그런가 원인좀 봐주세요
(2)
![]() |
![]() |
2025.04.24 | - | 86 |
78335 |
New 인쇄시 양식을 배경으로 깔 수 있을까요?
(1)
![]() |
![]() |
2025.04.24 | - | 34 | |
78332 | 기능/도구 |
New 고수님들 질문들립니다. GPT 엑셀 연동 으로 데이터수집 관련
(2)
![]() |
![]() |
2025.04.23 | - | 80 |
78330 | 함수/공식 |
New 15분마다 쌓이는 데이터를 1시간 단위로 합산해서 정리하고싶어요..
![]() ![]() |
![]() |
2025.04.23 | - | 113 |
78327 | VBA |
New 엑셀 VBA 챌린지 2일차, 값바꾸기 버튼 클릭해도 안 바뀌는 이유
![]() ![]() |
![]() |
2025.04.23 | - | 65 |
78326 | 함수/공식 |
New 여러 열의 데이터가 중복될때 표시되는 조건부서식을 할때요
![]() ![]() |
![]() |
2025.04.23 | - | 75 |
@iviolin**** 님 안녕하세요.
아래 명령문을 사용하면 기본 프린터를 바꿀 수 있습니다.
아래 명령문을 사용하면 취소를 눌렀을 때 동작을 지정할 수 있습니다.
제시해드린 답변이 도움이 되셨길 바랍니다. 감사합니다. 🙂
@오빠두엑셀 님 답변 감사드립니다.
그런데 실무에 적용할려다 보니 뭔가 이상해서 글을 다시 적습니다.
실무에서는
명령문이 먹지를 안습니다...
집에와서 따로 예시파일을 만들어도 vbcancel코드가 이상하게 작동합니다...
디버그로 확인해보니 확인을 누르던 취소를 누르던 If 구문이 실행됩니다.
vbcancel이 확인,취소 둘다 반응해서 이상한 결과가 나옵니다.
취소를 누르면 Microsoft to PDF가 프린터설정에서 다른 프린터를 선택하고 확인을 누르면 그에 해당하는 프린터가 프린터로 지정되는 메크로를 알고 싶습니다.
첨부파일 : 프린터설정-메크로.xlsm
@iviolin**** 님 안녕하세요.
말씀하신 프린터 설정이, 윈도우의 기본 프린터가 아닌 엑셀의 인쇄용 프린터 설정을 말씀하시는건가요?
그러시다면, 아래 명령문을 사용해보세요.
프린터 다이알로그 명령문은 아래처럼 사용해보시길 바랍니다.
제시해드린 답변이 도움이 되셨길 바랍니다. 감사합니다.
@오빠두엑셀 님 답변 감사드립니다.
가르쳐 주신 방법으로 프린터에 따른 차트의 높이,넓이 변화와 그에따른 프린트 영역을 바꾸는 메크로를 구현하고있습니다.
그런데 프린터 설정에서 어떠한 프린터를 설정하고 그 프린터에서 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
@iviolin**** 님 프린터의 인쇄 가능한 용지종류를 받아오는 것은 VBA 에서 벗어난 작업입니다.
윈도우 API를 사용해주셔야 합니다 "winspool.drv" 라이브러리를 사용해보세요.
아래 링크를 참고해보시길 바랍니다.
https://docs.microsoft.com/en-us/windows/win32/printdocs/printing-and-print-spooler-functions'
https://stackoverflow.com/questions/40848751/excel-vba-printer-api-set-colour-and-duplex
https://docs.microsoft.com/en-us/uwp/api/windows.graphics.printing.printmediasize?view=winrt-19041