我一直在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行。
可能是什么原因引起的问题?
答案 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禁止使用文件名中的问题。
应避免使用以下字符/\:?*"<>|