首发于 VBA for Excel

VBA批量将Sheets转换为PDF格式

一张工作表中含有多张Sheets,领导要求一张Sheet另存为一个PDF文件。遇到这种问题,一般情况下就是一张一张Sheet手动另存为PDF,这也没错,但就效率而言,肯定是机械且慢的,一旦Sheet比较多时,还这样做的话,肯定是非常不明智的选择。那么,像这般机械化的工作,就应该让机器去做,那么我们就要去给电脑下指令,告诉它:PDF文件以Sheet名字命名,然后帮我选择路径保存好,我们再将文件发给领导查阅。那么,今天给大家安排上指令,如下:

Sub SheetConvertToPDF2()
Dim sh As Worksheet '定义循环工作表
Dim filename As String '定义输出的PDF文件名
On Error GoTo errorhandle:  '处理报错
For Each sh In ThisWorkbook.Worksheets '循环将工作表导出PDF
sh.Activate '激活工作表
filename = _
ActiveWorkbook.Path & "\" & sh.Name & ".pdf" '定义PDF保存路径、以表单名称为PDF文件名
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=filename _
, quality:=xlQualityStandard, _
IncludeDocProperties:=Ture, IgnorePrintAreas:=False, OpenAfterPublish:= _
False 'OpenAfterPublish定义另存为pdf后不打开
errorhandle: