如何将多张纸转换为PDF横向



下面是我正在使用的代码。这工作正常,并将前 2 张纸转换为横向。但我不知道为什么它没有将工作表 3 和工作表 4 转换为横向。有人可以帮助我吗:-

Public Sub SaveSheetsAsPDF()
Dim wksAllSheets As Variant
Dim wksSheet1 As Worksheet
Dim strFilename As String, strFilepath As String
'Set references up-front
Set wksSheet1 = ThisWorkbook.Sheets("Sheet1")
wksAllSheets = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4")
For Each sh In wksAllSheets
Sheets(sh).PageSetup.Orientation = xlLandscape
Next
'strFilepath  = "C:"
'Create the full Filename using cells D6, E6 and F6
With wksSheet1
'Assemble the string cell-by-cell, "D6 E6-F6"
strFilename = strFilepath & .Range("D6").Value & " " & _
.Range("E6").Value & "-" & _
.Range("F6").Value & ".pdf"
End With
'Save the Array of worksheets (which will be selected) as a PDF
' ThisWorkbook.
Sheets(wksAllSheets).Select
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFilename, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
'Make sure all the worksheets are NOT left selected
wksSheet1.Select
End Sub

请尝试一下。 在运行strFile Name变量之前对其进行设置。

如果仍然失败,请手动导出每个工作表,只是为了查明失败的工作表

Public Sub SaveSheetsAsPDF()
Dim wksAllSheets As Sheets
Set wksAllSheets = Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4"))
Dim sh As Worksheet
For Each sh In wksAllSheets
sh.PageSetup.Orientation = xlLandscape
Next
Dim strFilename As String
strFilename = "C:UsersxxxxxDesktopBook1.pdf"   ' set up path to test file
wksAllSheets.Select
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFilename, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Sheets("Sheet1").Select
End Sub

最新更新