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导出功能)。

相关推荐
龙虎榜小红牛系统14 分钟前
使用Excel制作通达信自定义“序列数据“
excel·股票·通达信
Py办公羊大侠1 小时前
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
python·excel·打印·openpyxl·自动换行·显示不全
SixCandy1 小时前
EXCEL使用宏实现筛选重复项并对该行进行填充内容的操作
办公软件·excel··wps
你走以后1 小时前
excel中如何筛选一列中重复的内容,相同的内容只保留一次
excel
热心市民运维小孙15 小时前
Ubuntu重命名默认账户
linux·ubuntu·excel
是我知白哒1 天前
pdf转换文本:基于python的tesseract
python·pdf·ocr
又蓝1 天前
使用 Python 操作 Excel 表格
开发语言·python·excel
m0_748230941 天前
Rust赋能前端: 纯血前端将 Table 导出 Excel
前端·rust·excel
Swift社区1 天前
Excel 列名称转换问题 Swift 解答
开发语言·excel·swift
neeef_se1 天前
Vue中使用a标签下载静态资源文件(比如excel、pdf等),纯前端操作
前端·vue.js·excel