首页 > 解决方案 > 语法问题,出现运行时间错误

问题描述

我正在尝试将文件另存为 PDF,但我得到了一个

运行时错误“1004”

我可以写excel文件没问题,当我改变代码来写PDF文件时,我得到了这个错误。

我试图用几种方法编写语法都无济于事。我在想我可能缺少一个参数?我查看了多个示例,但没有看到我做错了什么。


代码::::>>>>

fileName = "O:\Paula\Z test write PDF file exhibit A\" & Cells(initial + 1, 1).Text & ".pdf"

Set DestBook = Workbooks.Add

With DestBook
    .Title = "Installment Trans History"
    .Subject = "legal Request"
    .SaveAs fileName:=fileName, FileFormat:=xlTypePDF 
    Set DestSheet = .Worksheets("sheet1")
End With

Set DestSheet = DestBook.Worksheets("sheet1")

如果我将文件更改为 .xlms 并删除该FileFormat:=xlTypePDF 文件,则会按预期创建该文件。

当我将文件更改为 .pdf 并添加时,FileFormat:=xlTypePDF出现运行时错误。我试过移动东西,但我得到了同样的错误。

标签: excelvbafilepdfsave

解决方案


你想用workbook.exportasfixedformat.

它不起作用的原因是您试图将 pdf 保存到工作簿中。无需添加新工作簿,它会失败,因为这是您现在正在处理的对象。

fileName = "O:\Paula\Z test write PDF file exhibit A\" & Cells(initial + 1, 1).Text & ".pdf"

With activeworkbook 'You should make this an explicit reference to your current workbook.
    .exportasfixedformat xltypepdf, filename
end with

推荐阅读