繁体   English   中英

VBA 将 Excel 导出为 PDF

[英]VBA Export Excel to PDF

运行此宏时出现“1004”错误。

Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
     Type:=xlTypePDF, _
     FileName:="/Users/username/Desktop/tests/filename.pdf", _
     OpenAfterPublish:=False
End Sub

错误图像

在此处输入图片说明

如果文件名是“PDF.pdf”,同样的代码也能正常工作。 似乎我只能导出名称为“PDF.pdf”的 PDF。

下面的代码没有返回错误。 为什么会这样?

Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
     Type:=xlTypePDF, _
     FileName:="/Users/username/Desktop/tests/pdf.pdf", _
     OpenAfterPublish:=False
End Sub

我已经在我的 PC 上运行/调试了几次,当然,文件名没有区别。 Filename.pdf 导出就好了。 此错误似乎有两个潜在原因。 (1)是文件路径本身没有找到,另一个(2)是文件已经存在。 所以先像这样检查:

Sub macro_PDF()
Filename = "c:/fmob/filename.pdf"
If Dir(Filename) <> vbNullString Then
    Kill Filename
End If
ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=Filename, _
    OpenAfterPublish:=False
End Sub

我遇到了一种情况,即使在删除普通文件(即使用资源管理器)后宏也无法写入文件,这似乎是由于 PDF Acrobat 没有正确关闭所有文件句柄的某种错误造成的。 大概重启会解决这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM