청구확인서 수정부탁드립니다. 안녕하세요 고수님 !! 엑셀로 자동입력되는 파일 만들어 보려고 작성중인데
안녕하세요 고수님 !! 엑셀로 자동입력되는 파일 만들어 보려고 작성중인데
안녕하세요.
보안 때문에 매크로가 안 읽혀오네요. 파일을 직접 확인할 수는 없지만, 엑셀 VBA 코드에서 "프린트" 부분에서 에러가 난다면, 아래 몇 가지 원인을 점검해보세요.
1. PrintOut 함수 사용법 확인
엑셀 VBA에서 인쇄(PrintOut) 기능을 사용할 때는 PrintOut 메서드를 올바르게 작성해야 합니다.
✅ 올바른 PrintOut 코드 예시
Sheets("Sheet1").PrintOut Copies:=1, Collate:=True
Copies:=1 → 한 부 인쇄
Collate:=True → 여러 장일 경우 정렬
❌ 에러가 발생하는 경우
"PrintOut"을 잘못된 위치에서 호출했을 가능성
프린터가 설정되지 않음
ActivePrinter가 존재하지 않거나 잘못됨
2. ActivePrinter 확인
VBA에서 기본 프린터가 설정되지 않았다면 에러가 날 수 있습니다.
MsgBox Application.ActivePrinter ' 현재 설정된 프린터 확인
프린터가 설정되지 않았다면, 프린터를 수동으로 설정해야 합니다.
✅ 프린터 설정 방법
Application.ActivePrinter = "Microsoft Print to PDF on Ne00:"
(프린터 이름은 PC마다 다를 수 있습니다.)
3. PrintOut을 사용하기 전에 미리보기 추가
코드에서 인쇄 전에 미리보기를 확인하면 버그를 쉽게 찾을 수 있습니다.
Sheets("Sheet1").PrintPreview
미리보기가 정상적으로 보이면 PrintOut 문제는 아닙니다.
4. 코드 수정 및 예제 (PrintOut 개선)
Sub Print_Sheet() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("청구서") ' 시트 이름 확인 ' 현재 프린터 확인 MsgBox "현재 프린터: " & Application.ActivePrinter ' 미리보기 (디버깅용) ws.PrintPreview ' 인쇄 실행 (1부만 출력) ws.PrintOut Copies:=1, Collate:=True End Sub
위 코드에서 PrintPreview 실행 후 확인 → 미리보기에서 에러가 나면 PrintOut이 아닌 다른 문제일 가능성이 큽니다.
✅ 결론
PrintOut 사용법을 확인하고, 기본 프린터 설정을 점검하세요.
Application.ActivePrinter 값을 확인하세요.
PrintPreview로 에러 원인을 찾은 후 PrintOut을 실행하세요.
혹시 위 방법으로 해결이 안 되면, 더 자세한 코드 내용이나 에러 메시지를 알려주세요!
P.S : PC나 노트북의 윈도우가 자꾸 오류가 나서 잘 안 되고 버벅되시나요? 그렇다면, 지금 바로 네이버 지식인 초인 등급 Expert 전문가를 만나보세요!
★ 타천사둘리루시퍼@지식인 Expert 전문가 상담 링크로 바로 가기
https://m.expert.naver.com/expert/profile/home?storeId=100055187
주요 분야는 윈도우 및 응용 프로그램 설치.셋팅. PC 및 노트북 업그레이드 상담, 윈도우 및 용프로그램 오류 조치, PC 조립, 윈도우 최적화 셋팅 등 입니다.
그리고, 저는 윈도우, Ai, IT 잡학다식, 트랜드, 맛집, 여행, 카페 관련 블로그를 운영하고 있습니다.
아래는 저의 티스토리 블로그 입니다. 한 번 방문해 보시길 부탁드립니다.
나의 티스토리 블로그 : 타천사둘리@디지털노마드의 티스토리
https://hidongkim5971.tistory.com
#타천사둘리@디지털노마드 #타천사둘리루시퍼 #Lucifer #윈도우오류조치 #IT잡학다식 #Ai #티스토리tistory #여행맛집카페 #윈도우11 #윈도우10 #최신트랜드
도움이 되셨길 바랍니다. 답변 채택해주시면 감사하겠습니다. 감사합니다. 꾸~~~벅