首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel pdf导出

Excel pdf导出
EN

Stack Overflow用户
提问于 2018-03-05 04:09:55
回答 1查看 187关注 0票数 0

我是Excel宏的新手。我试着做一个“另存为pdf”按钮。我写了一个这样的代码:

代码语言:javascript
复制
Sub save_as_pdf()
'
' save_as_pdf Macro
' Saves sheet as PDF
'
Dim Path As String
Dim filename As String
Path = "/Users/Adrian/Desktop/"
filename = ThisWorkbook.Sheets("Controller").Range("B20")
PathAndFilename = Path & filename & ".pdf"
MsgBox "Saved file as: " & PathAndFilename

Sheets("View").Select
Application.DisplayAlerts = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:= _
   PathAndFilename, Quality:=xlQualityMinimum, _
   IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
   False

Application.DisplayAlerts = True

End Sub

我需要Range("B20"),因为我在那里保存了一个基于excel中逻辑的文件名。MsgBox生成有效的路径和文件名。

然而,当我运行它时,我得到了一个“打印错误”和一个突出显示ActiveSheet.ExportAsFixedFormat ...的“运行时错误1004”。

EN

回答 1

Stack Overflow用户

发布于 2018-03-05 04:19:46

在要导出的工作表中设置打印区域。

如我所料,还要验证路径和驱动器号,例如C:\

下面的方法对我很有效

代码语言:javascript
复制
Option Explicit

Sub save_as_pdf()

    Dim Path As String
    Dim filename As String
    Dim PathAndFileName As String

    Path = "C:\Users\User\Desktop\" ' "C:\Users\Adrian\Desktop\"
    filename = ThisWorkbook.Sheets("Controller").Range("B20")
    PathAndFileName = Path & filename & ".pdf"
    MsgBox "Saved file as: " & PathAndFileName

    Sheets("View").Select
    Application.DisplayAlerts = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:= _
                                    PathAndFileName, Quality:=xlQualityMinimum, _
                                    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                                    False

    Application.DisplayAlerts = True

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49099892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档