如何利用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格式源文件下载页面。


猜你喜欢
- windows10系统的最低配置内存要求介绍?虽然现在安装win10系统非常的方便快捷,但是对于一些配置低的电脑来说,安装win10系统反而
- Ctrl+G,定位!相当于PS中的选择功能。PS中为了选取不同对象如人、狗、头发、玻璃等,整出了很多很多的选择工具和方法。Excel很牛,就
- 作直线:插入\图表\XY散点图折线散点图,选择区域即可求直线方程:插入\函数\LINEST,选择数据即可。如图:
- 最近许多小伙伴在使用电脑的时候,电脑屏幕总是出现闪屏黑屏的情况,导致我们在使用电脑的时候非常不好用,那么如果我们遇到这种情况要怎么办呢?其实
- 有时候我们在使用电脑的过程中需要同时开启多个任务窗口,而Win11系统是可以直接去设置并排显示窗口,那么应该要如何去设置呢?下面就和小编一起
- 还在寻找一个好用的移动应用开发程序吗?今天小编给大家推荐Creo移动应用开发工具,Creo for Mac是应用在MacOS上的一款移动应用
- Foxmail是一款社交邮箱,在平时我们也经常使用,你知道foxmail怎么设置已读回执的吗?接下来我们一起往下看看foxmail设置已读回
- Win10预览版9860的网络选择窗口,由PC设置打开窗口取代了通过侧划手势从charm边栏滑出列表的功能。许多用户认为这是一种倒退,因而并
- 有时可以用2套模板来演示同一个PPT演示文稿,比。2、选择左边缩略图,右键单击,在弹出的菜单中选择新标题母版项,。3、选择左边缩略图,右键单
- 在日常的文字录入和编辑过程中,有些时候可能会出现生僻字,对于习惯拼音输入法的用户,如果将不熟悉的汉字迅速输入到当前文档中成为困扰很多人的难题
- Xmind2022Mac是一款非常便捷的制作思维导图的软件,制作思维导图可以帮助用户更高效的进行学习,在Xmind中如何使用概要呢?下面我们
- 我们都知道Win10系统在一段时间就会更新,有时候更新会出现很多的问题,所以很多用户都很头疼,很多用户想了解如何禁用win10自动更新功能,
- Plug and Play是系统重要服务,计算机在极少或没有用户输入的情况下能识别并适应硬件的更改,它的任务就是在每个设备和它的驱动程序之间
- 使用suse的ramdisk,来挂接虚拟磁盘分区,然后通过填满虚拟磁盘分区来实现磁盘满环境的条件ramdisk是操作系统自带的一种内存块设备
- PDF文件怎么只删除奇数页面?pdf编辑器想要删除pdf文件的奇数页面,该怎么删除呢?下面我们就来看看pdf文件删除奇数页面的教程,需要的朋
- 如果您想要把已经调整好的效果导入到ps软件中去,就要学会怎么在PS中导入PS预设。关于这个问题,很多小伙伴还不会,所以今天小编就把这个问题的
- 电脑没声音要怎么办?很多人再使用电脑的过程中,都有遇到过电脑没声音的情况。到底是硬件问题、还是软件问题导致电脑没声音的呢?今天小编就和大家说
- WinXP系统提示网络上又重名怎么办?使用XP系统的用户偶尔会看到网络图标提示网络上又重名的问题,这是怎么回事呢?下面给大家介绍XP系统提示
- 搜狗输入法候选词怎么调整为9个? 默认的是5个选词 找到输入他工具栏,点击
- PS怎么去图片水印?今天和大家来分享一个去除图片背景中有很多相同水印的去除方法。有一些图片背景中会使用相同的logo来铺满背景,这样其他人在