将多个工作表导出为PDF而不选择

时间:2016-03-22 11:53:02

标签: excel vba excel-vba pdf macros

我有4张,说" Sheet1"," Sheet2"," Sheet3"和" Sheet4"。

对于我的PDF,我想导出Sheet3和Sheet4的内容,因此它将被分组为一个数组:

Sheets(Array("Sheet3", "Sheet4"));

现在,通常要导出为PDF,我会选择此项,然后

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

但是,我想让这个Macro完全在后台运行。如果我正在查看Sheet1,并运行此宏,它将转移到Sheet3,因为它被选中,这对工作流程具有破坏性。

我知道如何通过声明变量来完成FillCell等基本操作:

Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet2")
' modify ws

因为这在幕后工作。

总之,我想将多个工作表(不是全部)导出为PDF,而无需使用Select,Activate或类似工具来更改我当前正在查看的工作簿/工作表的视图。

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题。

Sheets("Sheet 1").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= _
"C:\filename.pdf", _
Quality:= xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False