【发布时间】:2016-03-22 11:53:02
【问题描述】:
我有 4 张纸,比如“Sheet1”、“Sheet2”、“Sheet3”和“Sheet4”。
对于我的PDF,我想导出Sheet3和Sheet4的内容,所以会被分组为一个Array:
Sheets(Array("Sheet3", "Sheet4"));
现在,通常要导出为 PDF,我会选择这个,然后有
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= _
"C:\filename.pdf", _
Quality:= xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
但是,我想让这个宏完全在后台运行。如果我正在查看 Sheet1 并运行此宏,它将切换到 Sheet3,因为它正在被选中,这会破坏工作流程。
我知道如何通过声明变量来为 FillCell 等基本操作执行此操作:
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet2")
' modify ws
因为这是在幕后工作。
总之,我想将多个工作表(不是全部)导出为 PDF,而无需使用 Select、Activate 或类似功能,这会改变我当前查看的工作簿/工作表的视图。
【问题讨论】:
-
你试过只调用 table3.ExportAsFixedFormat 吗?
-
@Comintern,效果很好。干杯