在VBA上保存为PDF文件返回“文档未保存”错误

时间:2013-06-06 21:47:41

标签: excel vba pdf

以下代码导致“文档未保存”错误:

sFileName = "C:\test.pdf"
Application.DisplayAlerts = False
wkbPDF.Worksheets.Select        
ActiveSheet.ExportAsFixedFormat Type := xlTypePDF, Filename := gsPDF_DIR & sFileName, _
  Quality:=xlQualityStandard, IncludeDocProperties := True, _
  IgnorePrintAreas := False, OpenAfterPublish := False

Application.DisplayAlerts = True

但它在VBA之外成功(但由于工作簿包含超过100张,因此需要几分钟)。

3 个答案:

答案 0 :(得分:0)

如果Filename:有任何值,则gsPDF_DIR参数无效,因为sFileName已指定了驱动器,文件夹和文件名。

尝试使用Filename := sFileName

答案 1 :(得分:0)

我也遇到过这个问题。最糟糕的是Microsoft VBA的错误描述。我试图将文件保存在具有写访问权限的C驱动器上。因此将其更改为不同的位置并且它有效。有时VBA会为您提供与实际问题无关的错误描述。

答案 2 :(得分:0)

确保您的输出文件尚不存在。例如,如果 gsPDF_DIR & sFileName 之前已保存在工作簿所在的同一目录中,则也可能会发生此错误。您可以通过删除以前保存在 gsPDF_DIR & sFileName 下的文件或将您的工作簿移动到其他目录来解决此问题。