Vba 将excel工作表导出为PDF运行时错误';5';:无效的过程调用或参数

Vba 将excel工作表导出为PDF运行时错误';5';:无效的过程调用或参数,vba,excel,pdf,Vba,Excel,Pdf,我在将工作簿中的一张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

我在将工作簿中的一张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电子表格时,它就工作了

我在Excel2007和Windows10上工作。我也在Excel2010和Windows7上试用过

以下是我尝试过的一些链接:


确保工作表未被隐藏。如果工作表隐藏或非常隐藏,Excel将为.ExportasFixedFormat引发错误。如果您的已隐藏,则可以先在代码中取消隐藏:

表(“固定资产增值税”)。可见=xlSheetVisible

最后,您可以再次隐藏它


Sheets(“Fa-VAT”).Visible=xlSheetHidden

我也有同样的错误。在我的例子中,给定的文件路径和名称太长。缩短名称或路径,它应该可以工作