Excel表格批量转换成PDF文档
1、打开Excel表格,点击【开发工具】、【Visual Basic】调出VBE编辑器。

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

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

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

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

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

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

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