您现在的位置是:主页 > 批量快捷 >
如何利用VBA批量转换Excel工作簿为PDF
发布时间:2023-10-22 08:44:39所属栏目:批量快捷 已帮助人编辑作者:Excel自学教程
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格式源文件下载页面。
以上就是excel自学教程为您提供如何利用VBA批量转换Excel工作簿为PDF的解读,本文章链接: http://www.5enet.cn/Excel_piliang/76835.html 欢迎分享转载,更多相关资讯请前往批量快捷
相关文章
企业IT外包服务
excel vlookup函数的反向查找、模糊查找、多条件查找
excel表格怎么内插竖线
Excel中ISEVEN函数的语法和用法
Excel中PROB函数的语法和用法
Excel表格怎么打印在a4纸上
如何快速在Excel中隔行填充颜色
excel 如何快速的找到对应的预提与冲销
如何以最简单方式实现中小企业数据共享协同?
excel 如何统计两个日期之间某个数据的数量求和值?
excel if函数的多个条件使用方法
wps表格办公—如何处理每次打开工作簿时弹出的提示框?
如何利用excel下拉框实现数据条件统计实例教程
excel如何高亮显示工作表中所有包含公式的单元格
excel FIND函数 实现将短划线号前小于10的数前添加0
excel图表 基于隔离的兼容
扫码关注
- 专注IT行业,10年IT行业经验