使用VBA ExportAsFixedFormat无法解决错误1004

时间:2019-10-21 09:43:13

标签: excel vba

我一直在VBA中建立一个小宏,以便在Excel中将表格另存为PDF。这是我编写的代码:

Sub ExportPDF()
    Dim File_name As String

    File_name = "C:\Test\" & _
      "Rapport du " & Date & "_Assurances.pdf"

    Sheets("Assurances.Rapport").Select

    Dim Last_row As String

    Last_row = "C1:Y" & Range("Z2").Value
    ActiveSheet.PageSetup.PrintArea = Last_row

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    FileName:=File_name, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

    Sheets("Assurances").Select
End Sub

我已经在我的个人Mac上使用Excel 2019运行了它,并且似乎可以正常工作,我也已经在Windows 7上使用Excel 2019运行了它,也可以正常工作。

但是我尝试在运行Excel 2016的Mac和Windows 10上运行它,但在其中任何一个上都无法运行:在Mac上,它会打开一个打印窗口,等待我选择打印机。

在Windows上,它给我以下错误:

  

“运行时错误'1004':   文档未保存。该文档可能是打开的,或者在保存时可能遇到错误。”

错误指向“ ExportAsFixedFormat”的4行。

可能是什么原因引起的问题?

1 个答案:

答案 0 :(得分:0)

尝试更改此行:

File_name = "C:\Test\" & _ "Rapport du " & Date & "_Assurances.pdf""

File_name = "C:\Test\" & _ "Rapport du " & Format(Date,"dd-mm-yyyy") & "_Assurances.pdf"

然后测试。日期格式中带有“ \”的格式可能会导致默认情况下Windows禁止使用文件名中的问题。

应避免使用以下字符/\:?*"<>|