【问题标题】:Problem with Syntax, getting Run TIme error语法问题,出现运行时间错误
【发布时间】:2019-07-25 13:55:41
【问题描述】:

我正在尝试将文件另存为 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 出现运行时错误。我试过移动东西,但我得到了同样的错误。

【问题讨论】:

  • 如果从文件名中删除 .pdf 并使用 FileFormat:=xlTypePDF 会发生什么情况。我认为您将文件扩展名加倍。
  • 您要连接到文件名中的单元格的值是多少?
  • 同样的错误,运行调整错误'1004'
  • 我的文件名是帐号 1058105。当我创建 XLMS 文件时该文件有效。
  • 我认为你想使用workbook.exportasfixedformat 而不是.saveas 这是一个链接:docs.microsoft.com/en-us/office/vba/api/…

标签: excel vba file pdf save


【解决方案1】:

你想使用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

【讨论】:

  • 谢谢,我试试看。
猜你喜欢
  • 2020-04-22
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多