매크로로 만든 PDF를 출력 시 출력물에 이상 발생

VBA
작성자
iviolin****
작성일
2022-09-05 20:44
조회
124
엑셀버전 : M365

운영체제 : 윈도우10

질문 요약 : VBA로 만든 PDF를 프린터로 출력하였을 때 선이 없어지는 현상을 막고 싶습니다.

회사에서 PDF를 F12(다른이름 저장하기)를 통해 파일형식을 PDF로 지정하여 모든 시트를 저장한 다음

저장한 모든 시트를 합치는 작업을 하고있습니다.

이 것을 메크로로 구현하고자 하여 PDF를 합치는 메크로를 어찌저찌 만들었습니다...

다만 메크로를 돌려 나온 PDF를 A4로 뽑으니 다양한 곳에 줄이 사라져 있습니다.

줄이 사라지는 곳은 랜덤인 것 같습니다.

F12를 통하여 만든 PDF는 출력물에서 선이 사라지는 현상은 없습니다.

항상 굵은 선은 제대로 나오는데 실선(저희 회사 양식에서는 점선을 아주 촘촘하게 하여 얇은 선 처럼 보이게 해놓았습니다)이 간혹 사라져있는 경우가 있습니다.

제가 회사에서 PDF를 합치기 위해 썼던 메크로 중 PDF와 연관된 메크로만 적어놓겠습니다

Set app = CreateObject("Acroexch.app")
Set primaryDoc = CreateObject("AcroExch.PDDoc")
 
'실제 파일에서는 해당 구문이 많이 반복되어 여러 PDF를 만듬
wkFile지수.Worksheets("총괄K").PrintOut Copies:=1, Collate:=True, _
                ActivePrinter:=Application.ActivePrinter, PrintToFile:=True, PrToFileName:=ThisWorkbook.Path & "\PDF\Page" & PDF_Count & ".pdf"
 
'Combine_PDF라는 PDF를 합칠 파일을 지정함
Combine_PDF = ThisWorkbook.Path & "\PDF\" & Get_FileName
OK = primaryDoc.Open(Combine_PDF)
 
    If Not OK Then
        MsgBox "표지 파일이 제대로 생성되었는지 확인해 주십시오." & Chr(13) & "표지 PDF를 생성하는 경로 확인 필요", vbExclamation + vbOKOnly, Title:="PDF 합치기 오류"
    Else
        'PDF를 합칠 목록들을 순회하며 PDF를 합침.
        For FileIndex = 1 To UBound(Files)
 
            DoCounter = 0
            Do
                DoEvents
                DoCounter = DoCounter + 1
            Loop Until DoCounter = 5000
 
            If Files(FileIndex) <> "" Then
                numPages = primaryDoc.GetNumPages() - 1
 
                Set sourceDoc = CreateObject("AcroExch.PDDoc")
                OK = sourceDoc.Open(Files(FileIndex))
                If Not OK Then
                    MsgBox "Page " & FileIndex & "에서 오류가 발생하여" & Chr(13) & "PDF합치기 프로그램이 정상적으로 작동하지 않았습니다." & Chr(13) & "다시 시도해 주세요", vbExclamation + vbOKOnly, Title:="PDF 합치기 오류"
                    Exit For
                End If
 
                numberOfPagesToInsert = sourceDoc.GetNumPages
 
                OK = primaryDoc.InsertPages(numPages, sourceDoc, 0, numberOfPagesToInsert, False)
                If Not OK Then
                    MsgBox "Page " & FileIndex & "에서 오류가 발생하여" & Chr(13) & "PDF합치기 프로그램이 정상적으로 작동하지 않았습니다." & Chr(13) & "다시 시도해 주세요", vbExclamation + vbOKOnly, Title:="PDF 합치기 오류"
                    Exit For
                End If
 
                OK = primaryDoc.Save(PDSaveFull, Combine_PDF)
                If Not OK Then
                    MsgBox "Page " & FileIndex & "에서 오류가 발생하여" & Chr(13) & "PDF합치기 프로그램이 정상적으로 작동하지 않았습니다." & Chr(13) & "다시 시도해 주세요", vbExclamation + vbOKOnly, Title:="PDF 합치기 오류"
                    Exit For
                End If
 
                Set sourceDoc = Nothing
            End If
        Next
    End If

그리고 PDF를 합치기 위해 사용하는 Printer를 해당 메크로를 통하여

Microsoft Print to PDF로 설정해둠

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

 

회사의 보안때문에 제대로 된 파일을 올리지 못하는 점 죄송합니다.

다만 PDF를 만들 때 꼭 필요한 부분이다 싶은건 제대로 넣어놓겠습니다.

도움 부탁드립니다.

20220905_1047211.jpg

스크랩
공유
전체 5

  • 2022-09-05 21:48

    @iviolin**** 님 이 방법으로 문제가 해결될지 모르겠지만.. 인쇄 방식을 .PrintOut 에서 ExportAsFixedFormat으로 바꿔보는건 어떨까요?

    rngSelect.ExportAsFixedFormat xlTypePDF, FilePath, xlQualityStandard, DocProperty, PrintArea, , , OpenPdf

    • 2022-09-05 21:48

      코드는 여기서 참고했씁니다

      https://www.oppadu.com/엑셀-pdf-자동-저장-프로그램/


      • 2022-09-07 16:36

        @엑셀은즐거워 님 아 제가 사족을 더 안붙였었네요...

        참고로 PrintOut, ExprotAsFixedFormat 둘 다 해본 결과 똑같이 나왔었습니다. ㅠㅠ


        • 2022-09-17 17:39

          @iviolin**** 님 엇.. 그런가요?

          흠.. 인쇄하시기 전 화면 배율을 올리고 테스트해보면 어떨까요?


          • 2022-09-26 08:53

            @엑셀은즐거워 님 회사의 정해진 양식대로 보고서를 프린트 해야하기에 결국 배율은 세팅된 대로 뽑아야하는데 배율을 조정하는건 의미가 없습니다ㅠㅠ


전체 7,900
번호 카테고리 제목 작성자 작성일 추천 조회
알림
🎉 오피스 분야 30주 연속 1위! - 「 진짜쓰는 실무엑셀 」 전자책이 출간되었습니다! (14)
오빠두엑셀 | 2022.09.28 | 추천 7 | 조회 592
오빠두엑셀 2022.09.28 7 592
공지사항 함수/공식
[신규 기능 업데이트!] 👉 이제 게시글 작성시 스크린샷 복/붙이 가능합니다! 😎 (3)
오빠두엑셀 | 2022.08.04 | 추천 5 | 조회 1798
오빠두엑셀 2022.08.04 5 1798
공지사항 함수/공식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (100)
오빠두엑셀 | 2021.10.28 | 추천 128 | 조회 7599
오빠두엑셀 2021.10.28 128 7599
42888 함수/공식
New 나와 골프라운딩을 한 횟수 구하는 방법 엑셀파일
o**** | 00:05 | 추천 0 | 조회 18
o**** 00:05 - 18
42886 함수/공식
New 엑셀 함수 식을 어떻게 만들어야 할지 모르겠습니다 ㅠㅠ 엑셀파일 (1)
dfgkdflglkdf | 2022.10.06 | 추천 0 | 조회 18
dfgkdflglkdf 2022.10.06 - 18
42884 함수/공식
New match + index 수식 사용후 나오는 텍스트 값에 조건수식을 걸어 줄임말 텍스트 추출 오류 엑셀파일 (2)
로링 | 2022.10.06 | 추천 0 | 조회 19
로링 2022.10.06 - 19
42878 함수/공식
New IF 함수 1900-01-00 안나오게 할려면 어떻게 해야 하나요? 첨부파일 (2) 답변완료
선도부 | 2022.10.06 | 추천 0 | 조회 35
선도부 2022.10.06 - 35
42876 구글시트
New 조건부서식 관련(다중 중복값) 문의 드립니다 엑셀파일첨부파일 (2)
거꾸로문 | 2022.10.06 | 추천 0 | 조회 23
거꾸로문 2022.10.06 - 23
42873 함수/공식
New 특정 행에 특정 텍스트가 몇개 써있는지 구하는 식 엑셀파일 (2) 답변완료
이주 | 2022.10.06 | 추천 0 | 조회 29
이주 2022.10.06 - 29
42872 문서서식
New 조건부 서식 관련 질문 (1)
아홉열 | 2022.10.06 | 추천 0 | 조회 26
아홉열 2022.10.06 - 26
42869 함수/공식
New 텍스트에 비교연산자 사용시 에러처리 (2) 답변완료
쌈타 | 2022.10.06 | 추천 0 | 조회 29
쌈타 2022.10.06 - 29
42863 기능/도구
New 매번 뭐만 쓰거나 하면 몇십초정도 다운 상태가 됩니다ㅜㅜ (2)
jeongd**** | 2022.10.06 | 추천 0 | 조회 33
jeongd**** 2022.10.06 - 33
42860 VBA
New 입력 범위 코딩했는데 적용이 잘 안되어요 엑셀파일첨부파일
은이랑 | 2022.10.06 | 추천 0 | 조회 27
은이랑 2022.10.06 - 27
42858 함수/공식
New 1~10개의 데이터 중 몇번째 까지 데이터 가져오기가 가능한가요? 첨부파일 (3) 답변완료
아드키 | 2022.10.06 | 추천 0 | 조회 33
아드키 2022.10.06 - 33
42854 문서서식
New 파일 저장 후 다시 열었을 때 특정 부분 서식이 저절로 바뀌어 있는 문제
보리건빵 | 2022.10.06 | 추천 0 | 조회 20
보리건빵 2022.10.06 - 20
42851 함수/공식
New BOM 관리 (2)
정길이 | 2022.10.06 | 추천 0 | 조회 36
정길이 2022.10.06 - 36
42850 함수/공식
New 성장률(신장률) 해석 및 기본 함수가 이게 맞을까요,,? 첨부파일
NANA77 | 2022.10.06 | 추천 0 | 조회 18
NANA77 2022.10.06 - 18
42849 피벗테이블
New 피벗테이블단축키가안되요. 첨부파일 (1)
플립플랩 | 2022.10.06 | 추천 0 | 조회 16
플립플랩 2022.10.06 - 16
42846 파워쿼리/피벗
New 액세스에서 파워쿼리로 데이터 불러올때 자동업데이트 방법 (4)
하모닉스 | 2022.10.06 | 추천 0 | 조회 22
하모닉스 2022.10.06 - 22
42843 함수/공식
New if ifs and 다중 함수좀 알려주세요 첨부파일 (3) 답변완료
동하 | 2022.10.06 | 추천 0 | 조회 30
동하 2022.10.06 - 30
42839 함수/공식
New 상품 가격수준별 분포 구하는 법(+그래프) 엑셀파일 (1)
sue22 | 2022.10.05 | 추천 0 | 조회 28
sue22 2022.10.05 - 28
42838 VBA
New VBA 코딩 중인데.. 어렵네요 엑셀파일첨부파일
실런 | 2022.10.05 | 추천 0 | 조회 43
실런 2022.10.05 - 43
42836 함수/공식
New 엑셀 함수 관련해서 문의 드리고자 합니다. 엑셀파일 (2) 답변완료
dfgkdflglkdf | 2022.10.05 | 추천 0 | 조회 40
dfgkdflglkdf 2022.10.05 - 40
42835 문서서식
New 부등호 ≥ 가 엑셀에 들어가면 줄이 엉망으로 변합니다.. (1)
석준필 | 2022.10.05 | 추천 0 | 조회 28
석준필 2022.10.05 - 28
42834 문서서식
New 엑셀에서 '배경 제거'말고 '배경 채우기'기능도 있나요? (2)
월마리아 | 2022.10.05 | 추천 0 | 조회 26
월마리아 2022.10.05 - 26
42833
New 엑셀VBA 재무제표 크롤링 질문드립니다.
영푸라기 | 2022.10.05 | 추천 0 | 조회 23
영푸라기 2022.10.05 - 23
42832 함수/공식
New 2차원 TABLE 검색 엑셀파일 (5)
대빵 | 2022.10.05 | 추천 0 | 조회 33
대빵 2022.10.05 - 33
42828 함수/공식
New index, match, maxif관련 서식 엑셀파일첨부파일 (2) 답변완료
| 2022.10.05 | 추천 0 | 조회 40
2022.10.05 - 40
42820 VBA
New 외국어공부를 위한 원문사이에 해석을 열에 끼워넣기 (2) 답변완료
ㅈㄱㄹ | 2022.10.05 | 추천 0 | 조회 39
ㅈㄱㄹ 2022.10.05 - 39
42819 구글시트
New 숨긴 셀 제외 스프레드시트 적용 엑셀파일첨부파일
거꾸로문 | 2022.10.05 | 추천 0 | 조회 33
거꾸로문 2022.10.05 - 33
42816 함수/공식
New 함수 사용 시 특정 셀 텍스트 추출 하는 경우 첨부파일 (6) 답변완료
구찌갱 | 2022.10.05 | 추천 0 | 조회 44
구찌갱 2022.10.05 - 44
42813 구글시트
New SMALL 함수 관련 숨긴 셀 값 제외 엑셀파일첨부파일 (10) 답변완료
거꾸로문 | 2022.10.05 | 추천 0 | 조회 37
거꾸로문 2022.10.05 - 37
42809 함수/공식
New Bar code128 수식을 인식못하네요 엑셀파일첨부파일 (4) 답변완료
어린왕자77 | 2022.10.05 | 추천 0 | 조회 39
어린왕자77 2022.10.05 - 39