programing

여러 시트를 .pdf에 저장합니다.

elseif 2023. 4. 19. 22:28

여러 시트를 .pdf에 저장합니다.

데이터베이스에서 데이터를 가져와 요약 보고서 정보 3장을 구성하는 보고서 스프레드시트가 있습니다.명령줄에서 스프레드시트를 자동으로 실행하여 보고서 시트 3개를 모두 PDF 파일로 자동으로 저장하려고 합니다.

처음에는 시트의 VBA 매크로에서 일련의 "Print as PDF"를 사용하여 이 작업을 수행할 수 있다고 생각했지만, 출력 파일 이름을 지정하려면 중간 대화 상자가 필요합니다.그러면 pdf로 저장할 수 있고 매크로에서 출력 파일 이름을 설정할 수 있습니다.그러나 이렇게 하면 세 개의 개별 파일이 생성되고 나중에 그것들을 외부에서 통합하여 병합해야 합니다.

(다른 저장 모드에서는 워크북 전체가 저장되는 것처럼 보이는 경우 pdf로 저장하는 것은 이상합니다).

네, 나중에 3개의 파일을 병합하는 툴이 있습니다만, 엑셀이 여러 장을 하나의 PDF 파일로 저장할 수 있는 쉬운 방법이 있는지 알고 싶습니다.

저는 다음과 같은 일련의 자료를 통해 인쇄하고 있습니다.

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, ...

대신 (의사 코드)와 같은 하나의 문장을 할 수 있을까요?

ThisWorkbook.Sheets(1,2,3,4).ExportAsFixedFormat Type:=xlTypePDF, ...

먼저 결합할 시트를 선택합니다.

ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\tempo.pdf", Quality:= xlQualityStandard, IncludeDocProperties:=True, _
     IgnorePrintAreas:=False, OpenAfterPublish:=True

Tim의 답변과 비슷하지만 2007년 체크박스를 사용하면 다음과 같습니다(PDF 내보내기는 기본적으로 설치되지 않습니다).

공개 서브 Create PDF()
ISPDFLibrary가 아닌 경우그때 설치됨'이것을 적절한 링크가 있는 사용자 폼으로 표시하는 것이 좋습니다.
MsgBox "PDF로 내보내려면 Addin을 설치하십시오.http://www.microsoft.com/downloads/details.aspx?familyid=4d951911-3e7e-4ae6-b059-a2e79ed87041"에서 찾을 수 있습니다. 
서브종료종료 조건
액티브 시트ExportAsFixedFormat 유형:="PDF", _파일 이름:=액티브 워크북.경로 및 응용 프로그램.Path Separator & _액티브 시트이름 & " für " & Range("Selected Name")값 & ".pdf", _품질:=completeQualityStandard, IncludeDocProperties:=맞아, _IgnorePrintAreas:=False, OpenAfterPublish:=참종료 서브
개인 기능 IsPDFLibrary부울로 설치()크레딧은 Ron DeBruin(http://www.rondebruin.nl/pdf.htm)으로 보내드립니다.IsPDFLibrary설치 완료 = _(Dir(환경("공통 프로그램 파일")) & _"\Microsoft 공유\"오피스" 및 _포맷(Val(어플리케이션).버전), "00" 및 _"\EXP_PDF.DLL") <> ""기능 종료

PDF로 내보낸 후 다음 행을 추가할 것을 권장합니다.

ThisWorkbook.Sheets("Sheet1").Select

(필수:Sheet1후에 입니다).

여러 시트를 선택한 상태로 두면 일부 코드를 실행하는 데 문제가 발생할 수 있습니다(예: 여러 시트를 활성화하면 보호 해제가 제대로 작동하지 않습니다).

언급URL : https://stackoverflow.com/questions/14404650/save-multiple-sheets-to-pdf