선택한 시트를 PDF로 내보내려면 Excel VBA
다음 코드를 사용하여 Excel 2010에서 선택한 시트를 단일 PDF 파일로 내보내는 중입니다.
ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="C:\temp.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
제 문제는 첫 번째 시트만 수출한다는 것입니다.아이디어 있어요?
시트 그룹을 선택했으면 선택을 사용할 수 있습니다.
고려 사항:
Sub luxation()
ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="C:\TestFolder\temp.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
EDIT#1:
추가 테스트 결과 이 기법은 각 워크시트에서 선택한 셀 그룹에 따라 달라집니다.포괄적인 출력을 얻으려면 다음과 같은 방법을 사용합니다.
Sub Macro1()
Sheets("Sheet1").Activate
ActiveSheet.UsedRange.Select
Sheets("Sheet2").Activate
ActiveSheet.UsedRange.Select
Sheets("Sheet3").Activate
ActiveSheet.UsedRange.Select
ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\James\Desktop\pdfmaker.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub
저는 이것에 대해 꽤 혼란스러워요.저는 엑셀 2010도 운영하고 있습니다.다음을 사용하여 두 장을 단일 PDF로 저장해 보았습니다.
ThisWorkbook.Sheets(Array(1,2)).Select
**Selection**.ExportAsFixedFormat xlTypePDF, FileName & ".pdf", , , False
아무것도 없어요 빈 페이지만 있어요두 장 모두 절약할 수 있었지만, 아무것도 없습니다.사용하기 전까지는 그렇지 않았습니다.
ThisWorkbook.Sheets(Array(1,2)).Select
**ActiveSheet**.ExportAsFixedFormat xlTypePDF, FileName & ".pdf", , , False
두 개의 시트가 있는 단일 PDF 파일을 받았습니다.
선택한 두 장을 저장하기 위해 옵션 대화 상자의 선택을 사용하여 이 두 장을 수동으로 저장하려고 했지만 빈 페이지가 생겼습니다.Active Sheet(s) 옵션을 사용해보니 원하는 것을 얻었습니다.제가 이것을 매크로로 기록했을 때, 엑셀은 PDF를 성공적으로 게시할 때 ActiveSheet를 사용했습니다.왜 그러고 있어?
이것이 제가 @asp8811 답변에 문제가 있을 때 생각해 낸 것입니다(아마도 제 자신의 어려움).
이것은 pdf에 처음 두 장을 넣을 것입니다. '각 ws는 인쇄를 위해 페이지 구분으로 제어되어야 합니다.' 이것은 pdf를 현재 dir에 명시적으로 넣을 것입니다.
Sub luxation2()
Dim Filename As String
Filename = "temp201"
Dim shtAry()
ReDim shtAry(1) ' this is an array of length 2
For i = 1 To 2
shtAry(i - 1) = Sheets(i).Name
Debug.Print Sheets(i).Name
Next i
Sheets(shtAry).Select
Debug.Print ThisWorkbook.Path & "\"
ActiveSheet.ExportAsFixedFormat xlTypePDF, ThisWorkbook.Path & "/" & Filename & ".pdf", , , False
End Sub
언급URL : https://stackoverflow.com/questions/20750854/excel-vba-to-export-selected-sheets-to-pdf
'programing' 카테고리의 다른 글
| VBA 코드에서 Excel 셀의 #N/A를 확인하는 중 (0) | 2023.06.13 |
|---|---|
| 도커 작성 - 진입점 권한 오류(mariadb) (0) | 2023.06.13 |
| 컨트롤러 작업 방법에 대한 출력 캐시를 프로그래밍 방식으로 지우는 방법 (0) | 2023.06.13 |
| Oracle: 패키지 내부의 호출 저장 프로시저 (0) | 2023.06.13 |
| 어떻게 줄리아에게 엑셀을 읽습니까? (0) | 2023.06.13 |