VBA 实现EXCEl的sheet转换成PDF

  1. 首先,打开Excel,然后按下 Alt + F11 打开VBA编辑器。
  2. 在VBA编辑器中,点击 插入 -> 模块,创建一个新的模块。
  3. 在新模块中,复制并粘贴以下VBA代码:
vbscript 复制代码
Sub ExportEachSheetToPDF()
    Dim ws As Worksheet
    Dim pdfFolder As String
    Dim pdfName As String
    
    ' 设置PDF保存的文件夹路径
    pdfFolder = "C:\Your\Desired\Folder\"
    
    Application.ScreenUpdating = False ' 关闭屏幕更新以加快宏的执行速度
    Application.DisplayAlerts = False ' 禁用弹窗提示
    
    For Each ws In ThisWorkbook.Worksheets
        pdfName = Replace(ws.Name, " ", "_") ' 替换工作表名称中的空格
        ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfFolder & pdfName & ".pdf", _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
           OpenAfterPublish:=False
    Next ws
    
    Application.ScreenUpdating = True ' 恢复屏幕更新
    Application.DisplayAlerts = True ' 恢复弹窗提示
    
    MsgBox "所有工作表已导出为PDF文件。"
End Sub
  1. 修改 pdfFolder变量的值,设置你希望保存PDF文件的路径。
  2. 运行这个宏。你可以在VBA编辑器中按 F5 键,或者在Excel中通过快捷键 Alt + F8,然后选择 ConvertToPDF 并运行。

请注意,这个脚本会将每个工作表导出为一个单独的PDF文件,并且文件名将基于工作表的名称。确保你有权限写入指定的路径,并且Excel具有将文件导出为PDF的功能(这通常需要安装Adobe Acrobat或者使用Excel的内置PDF导出功能)。

相关推荐
机器学习算法与Python实战1 天前
PDF 文件翻译,我有4个方案推荐
pdf
vfvfb1 天前
excel对比找不同人名 双xlsx双列对比
excel·excel多列对比
課代表2 天前
Excel VBA 为数据赋予随机浅色标记
excel·vba·可视化·条件格式·标记·对比·随机
manjianghong862 天前
如何将一本书PDF扫描件转word 并打印(免费工具)
pdf·word·pdf处理工具
kylezhao20192 天前
C#上位机开发数据持久化:excel报表导入导出
开发语言·c#·excel
悟能不能悟2 天前
springboot controller返回的是HttpServletResponse成功返回excel文件流,失败就返回失败参数
spring boot·后端·excel
zhangfeng11332 天前
大语言模型llm学习路线电子书 PDF、开源项目、数据集、视频课程、面试题、工具镜像汇总成一张「一键下载清单」
学习·语言模型·pdf
manjianghong862 天前
PDF扫描件图片太大如何批量裁剪(免费工具)
pdf·pdf免费工具·pdf文件处理
YJlio2 天前
杨利杰YJlio|博客导航目录(专栏总览 + 推荐阅读路线)
开发语言·python·pdf
꧁༺℘₨风、凌๓༻꧂2 天前
C# WPF 项目中集成 Pdf查看器
pdf·c#·wpf