【问题标题】:VBA Error9 exporting to pdfVBA Error9 导出为 pdf
【发布时间】:2015-08-03 07:55:10
【问题描述】:

使用 Excel VBA,我尝试将工作簿的单张打印为 PDF。

我正在使用此代码:

    Private Sub cmd_Print_Design_Click()

    Sheets("Sheet1").ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=ThisWorkbook.Path & "/" & "Design Summary", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True

    End Sub

代码没有运行,我得到ERROR 9 "Subscript out of Range"。我不明白如何解决它。

【问题讨论】:

  • 程序运行时,活动工作簿中是否有名为“Sheet1”的工作表?
  • 我可以让它产生的唯一错误是如果 Sheet1 不存在,文件没有保存(所以 ThisWorkbook.Path 没有值)或者工作表不包含数据 - 和然后是错误 1004。可能是其他原因导致问题吗?例如,此代码将导致错误#9 Dim a(1 To 5) As Variant: a(6) = 1 查看此链接以了解错误原因#9:msdn.microsoft.com/en-us/library/aa264519(v=vs.60).aspx
  • @Mat'sMug 我更改了文件名,现在我收到错误 5“无效的过程调用或参数”。调试器在相同的代码下划线。
  • 尝试将/ 更改为``。最好将连接的结果存储在一个变量中,这样您就可以检查它,而不是内联它。
  • @Mat'sMug 谢谢 Mat 问题解决了!

标签: vba excel pdf subscript


【解决方案1】:

在 Windows 下,路径分隔符是反斜杠 \ 所以更改这行代码:

Filename:=ThisWorkbook.Path & "/" & "Design Summary",

Filename:=ThisWorkbook.Path & "\" & "Design Summary",

【讨论】:

    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2021-12-14
    • 1970-01-01
    • 2016-08-04
    • 2020-06-27
    • 2021-04-22
    相关资源
    最近更新 更多