我在将工作簿中的一张 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 上尝试过。
以下是我尝试过的一些链接:
最佳答案
确保工作表未隐藏。如果工作表隐藏或非常隐藏,Excel 将针对 .ExportasFixedFormat 抛出错误。如果你的隐藏了,你可以先在你的代码中取消隐藏:
Sheets("发增值税").Visible = xlSheetVisible
最后,你可以再次隐藏它。
Sheets("发增值税").Visible = xlSheetHidden
关于vba - 将 excel 工作表导出为 PDF 运行时错误 '5' : Invalid procedure call or argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35431464/