【发布时间】:2016-01-11 03:38:47
【问题描述】:
我使用的是来自this topic 的 .ExportAsFixedFormat,但不幸的是,Printed PDF 在格式和符号方面存在一些问题。
我试过CutePDF Writer,没问题。
现在,我想选择所有工作表并打印为单个文件,与 .ExportAsFixedFormat 函数一样
是否有任何快捷方式可以选择所有工作表并通过 VBA 将它们打印为 PDF?
我尝试插入一个数组,我用工作表名称填充了该数组。但我有一个类型不匹配的错误。
Private Sub CommandButton9_Click()
Dim SNarray, i
Dim Filename As String
Filename = "E:\TestMe1.pdf"
ReDim SNarray(1 To Sheets.Count)
For i = 1 To Sheets.Count
SNarray(i) = ThisWorkbook.Sheets(i).name
Debug.Print SNarray(i)
Next
Application.ActivePrinter = "CutePDF Writer on CPW2:"
Sheets(SNarray()).Select 'Here is the TYPE MISMATCH
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="CutePDF Writer on CPW2:", PrintToFile:=True, Collate:=True, prtofilename:=Filename
End Sub
谢谢!
【问题讨论】:
-
你没有输入你的数组,试试
Dim SNarray() as String。顺便说一句,很高兴看到我们可以选择打印机,我从来没有这样做过,但这可能会派上用场! :) -
@R3uK 还是一样 :) 出现同样的错误。
-
什么错误?哪一行?
-
@R3uK 与之前相同的行..带有 Sheets 的行 (SNarray()).Select
标签: vba excel pdf-generation