我正在尝试将4张纸输出到一个pdf文件中,但是由于某种原因,输出仅包括第一张表" report 1a"。这是我的代码:
Dim Ref As Worksheet
Set Ref = Worksheets("Charts for Report")
Sheets(Array("Report 1a", "Report 1b", "Report 2", "Comments")).Select
Sheets("Report 1a").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"T:QASample ReportsReports for CCC" & Ref.[B1] _
& " - " & Ref.[B2] & " - " & Worksheets("Provider Data").[I2] & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Worksheets("Report 1a").Select
我什至尝试录制一个宏来看看我在做什么错。录制它时它将起作用(即包含所有4页(,但是如果我尝试重新运行它,它将仅包含首页(" report 1a"(。
我仍然不知道发生了什么问题,但是我至少找到了解决方案。
在导出任何内容之前,我都掩盖了所有我不想包括的工作表。(更多的理由避免像鼠疫一样选择!(
Sub Hide_non_Packet_Sheets()
Dim index As Integer
Dim SheetExists As Worksheet
For index = 1 To 50
Set SheetExists = Sheets(index)
On Error Resume Next
If Sheets(index).Name = "Page1" Or Sheets(index).Name = "Page2" Then
Sheets(index).Visible = True
Else
Sheets(index).Visible = False
End If
Next index
End Sub
然后我只是导出整个工作簿:
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= "C:PlaceName.pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas :=False, _
OpenAfterPublish:=False
然后,如果您想要的话,您可以将宏设置为Undide。