如何利用VBA批量转换Excel工作簿为PDF

时间:2022-04-11 21:55:43 

Excel 2010和Excel 2007可以将Excel工作簿另存为PDF格式文件,但手工的方法每次只能转换一个工作簿,要转换多个工作簿就显得有些繁琐。如果没有批量转换软件,在Excel 2010和Excel 2007中,利用VBA代码也可以轻松实现将Excel工作簿批量转换为PDF,方法如下:

1.按Alt+F11,打开VBA编辑器。

2.在右侧代码窗口中输入下列代码:

Sub BatchConvertWorkBookToPDF()
Application.DisplayAlerts = False
Application.ScreenUpdating = False

Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
Dim wkBook As Workbook
Dim showFolder As Boolean
showFolder = False
With fDialog
.Filters.Add "Excel文件", "*.xls; *.xlsx; *.xlsm", 1
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
'如果选择了本工作簿则跳过
If InStrRev(vrtSelectedItem, ThisWorkbook.Name) = 0 Then
On Error Resume Next
Set wkBook = Application.Workbooks.Open(vrtSelectedItem, ReadOnly:=True, Password:="")
'跳过设置打开密码的工作簿
If Not wkBook Is Nothing Then
'跳过隐藏的工作簿
If Windows(wkBook.Name).Visible = True Then
showFolder = True
'转换开始
wkBook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Left(vrtSelectedItem, InStrRev(vrtSelectedItem, ".") - 1) & ".pdf" _
, Quality:=xlQualityMinimum, IncludeDocProperties:=False, IgnorePrintAreas _
:=True, OpenAfterPublish:=False
wkBook.Close , savechanges = False
Else
wkBook.Close , savechanges = False
End If
End If
End If
Next vrtSelectedItem
If showFolder Then Call Shell("explorer.exe " & Left(fDialog.SelectedItems(1), _
InStrRev(fDialog.SelectedItems(1), "")), vbMaximizedFocus)
End If
End With

Set fDialog = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

3.将需要转换的Excel工作簿复制到某个文件夹中。

4.关闭VBA编辑器返回Excel界面。按Alt+F8打开“宏”对话框,执行“BatchConvertWorkBookToPDF”宏。

5.在弹出的“浏览”对话框中选择包含要转换工作簿的文件夹,选择所有要转换的工作簿,单击“打开”按钮即可开始转换。

说明:

1.已转换的PDF文件位于原工作簿所在的文件夹中,转换完成后会自动打开该文件夹。

2.不能转换设置了打开密码的工作簿、隐藏的工作簿、隐藏的工作表和包含上述VBA代码的工作簿。

3.转换的文件类型为“*.xls”、“*.xlsx”、“*.xlsm”。如果要转换其他类型的工作簿,可在代码中添加文件类型。

4.如果要转换的工作簿具有相同的名称和不同的后缀,如“Book1.xls”和“Book1.xlsx”,则先转换的PDF文件会被覆盖。

5.Excel2007必需安装用于 2007 Microsoft Office system 的“另存为 PDF 或 XPS”加载项(见本站《如何将Excel工作簿保存为PDF格式文件》一文)。

单击此处打开xlsm格式源文件下载页面。

标签:如何,利用,VBA,批量,转换,Excel,工作簿,为,PDF
0
投稿

猜你喜欢

  • Mac上简单好用的图片模糊工具推荐:Touch Blur

    2022-06-08 09:27:38
  • Win10专业版你的电脑遇到问题需要重新启动怎么解决?

    2023-08-03 11:16:14
  • 什么是选择性粘贴?选择性粘贴的打开方法?选择性粘贴的使用方法?

    2023-06-29 11:42:09
  • ppt幻灯片怎么快批量删除页脚页眉内容?

    2022-05-15 08:40:07
  • 百度商桥中怎么查看聊天记录?查看聊天记录方法步骤

    2023-04-22 06:13:37
  • sumproduct函数多选项筛选进行计算-

    2023-05-22 23:30:22
  • Win8.1下默认开机需要输入密码那么如何跳过启动密码进入系统

    2023-10-16 15:24:41
  • Wps如何在表格中插入图表?Wps在表格中插入图表的方法

    2023-02-19 04:56:24
  • Win10 20H2玩DX12游戏卡顿怎么解决?

    2023-03-31 19:25:07
  • 如何一次性打印多张excel工作表

    2022-10-01 01:33:41
  • 斗鱼云游戏花钱吗-斗鱼云游戏是否花钱详细介绍

    2023-06-11 16:26:26
  • 老电脑完美升级Win11的方法

    2023-04-13 05:11:51
  • Win7清理磁盘节省C盘空间的技巧

    2022-03-25 00:49:59
  • 全图型PPT的SWOT分析

    2022-10-07 02:03:06
  • Win10电脑自带的微软输入法怎么卸载?

    2022-05-30 13:26:59
  • excel表格设置区域保护的教程

    2022-02-25 19:21:42
  • Win10穿越火线烟雾头怎么调?Win10烟雾头的最新调法介绍

    2023-10-16 20:44:30
  • 电脑怎么关闭UAC?Win11关闭UAC的两种方法

    2023-02-26 22:22:47
  • ​鲁大师如何查看硬盘的使用次数

    2023-10-14 10:03:40
  • 如何使用金山wps给文字添加空行

    2023-12-05 00:02:52
  • asp之家 电脑教程 m.aspxhome.com