【发布时间】:2016-05-27 16:01:14
【问题描述】:
我在将工作簿中的一张 Excel 工作表导出为 PDF 文件时遇到问题。
Sub ExportPDF()
Dim Nazwa As String
' Creating a destination folder for PDF file
If Len(Dir("c:\Faktury", vbDirectory)) = 0 Then
MkDir "c:\Faktury"
End If
'InputBox that allows user to type filename
Nazwa = InputBox("Wpisz nazwę pliku", "Nazwa pliku", Sheets("Fa VAT").Range("G3"))
If Nazwa = "" Then Exit Sub
ChDir "c:\Faktury"
'Exporting sheet "Fa VAT" to PDF
Sheets("Fa VAT").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Nazwa, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
我收到错误“运行时错误'5':无效的过程调用或参数”。之后,Excel 会突出显示代码的最后一部分,因为它应该是错误的。我的意思就是这部分:
Sheets("Fa VAT").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Nazwa, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
我安装了 Microsoft SaveAsPDF 设置,但没有任何变化。我将文件名更改为一些随机字符串,而不是引用 InputBox。我试图激活正确的工作表,然后导出 ActiveSheet。我尝试隐藏和显示工作表。我尝试在另外两台计算机上运行该文件。
当我将此宏复制到某个全新的空白 Excel 电子表格时,它可以工作。
我在 Excel 2007、Windows 10 上工作。我也在 Excel 2010 和 Windows 7 上尝试过。
以下是我尝试过的一些链接:
【问题讨论】: