Excel表格批量转换成PDF文档

2025-10-21 13:12:10

1、打开Excel表格,点击【开发工具】、【Visual Basic】调出VBE编辑器。

Excel表格批量转换成PDF文档

2、在VBE编辑器的菜单栏上面点击【插入】、【模块】。

Excel表格批量转换成PDF文档

3、在模块的代码框里边输入以下VBA程序代码。

Sub ExportToPDF()

Dim Arr, Str1, Str2, Shp, myPath1, myPath2, MyPos, Na, Sh, i1, i2

On Error Resume Next               '忽略运行中可能出现的错误

Application.ScreenUpdating = False '关闭工作表更新,提高运行速度

Application.DisplayAlerts = False  '忽略报警提示

Arr = Array(".xls", ".xlsx", ".xlsm")  'Excel格式集合

myPath1 = "D:\ABCD1\"        '源文件路径

myPath2 = myPath1 & "EFGH\"  '导出路径

MkDir myPath2                '新建文件夹

Set fs = CreateObject("Scripting.FileSystemObject") '计算机文件访问

Set fo = fs.GetFolder(myPath1)  '获取文件夹

For Each fi In fo.Files  '扫描文件夹里面的每一个文件

 i1 = 0

 i2 = 0

 Na = fi.Name  '获取文件名称

 Do

  i1 = MyPos   '寄存上次获取“.”的位置

  i2 = i2 + 1

  MyPos = InStr(MyPos + 1, Na, ".") '获取"."存在的位置

  If MyPos = 0 And i2 <> 1 Then

   Str1 = Right(Na, Len(Na) - i1 + 1) '截取后缀名

   Str2 = Left(Na, i1 - 1) & ".pdf"   '生成新的PDF文件名称

   If UBound(Filter(Arr, Str1)) = 0 Then  '如果是Excel格式的文件,则

    Workbooks.Open Filename:=myPath1 & Na '打开Excel文件

    For Each Sh In Workbooks(Na).Sheets   '扫描每张工作表

     Sh.PageSetup.Zoom = 80  '工作表打印区域设定成80%

    Next

    Workbooks(Na).ExportAsFixedFormat Type:=xlTypePDF, _

    Filename:=myPath2 & Str2, Quality:=xlQualityStandard

    '输出PDF文件

    Workbooks(Na).Close '关闭工作表

   End If

   Exit Do  '退出Do循环

  End If

 Loop

Next

Application.DisplayAlerts = True   '恢复报警提示

Application.ScreenUpdating = True  '恢复更新显示

End Sub

Excel表格批量转换成PDF文档

4、确认无误后(主要是待转换的Excel文件路径),然后在VBE编辑器的功能区上面点击“运行”图标运行程序。

Excel表格批量转换成PDF文档

5、程序运行完成后,打开源文件里边新生成的文件夹。

Excel表格批量转换成PDF文档

6、将会看到批量导出的PDF文件。

Excel表格批量转换成PDF文档

1、Excel文档转换成PDF文档时,电脑上面需要有PDF插件(如:Adobe Acrobat)的支持,否则将无法执行。

Excel表格批量转换成PDF文档

2、待执行批量转换的Excel文件基本一致,如果要顺便修改其输出的页面边距、纸张大小、纸张方向等,可以在代码里边插入相应的执行代码即可。

Excel表格批量转换成PDF文档

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢