Excel 2010 和 Excel 2007 可以将 Excel 工作簿另存为 PDF 格式文件,但手工的
方法每次只能转换一个工作簿,要转换多个工作簿就显得有些繁琐。如果没有批
量转换软件,在 Excel 2010 和 Excel 2007 中,利用 VBA 代码也可以轻松实现将
Excel 工作簿批量转换为 PDF,方法如下:
? ? 1.按 Alt+F11,打开 VBA 编辑器。
? ? 2.在右侧代码窗口中输入下列代码:
Sub BatchConvertWorkBookToPDF()
= False
= False
? ? Dim fDialog As FileDialog
? ? Set fDialog = (msoFileDialogFilePicker)
? ? Dim vrtSelectedItem As Variant
? ? Dim wkBook As Workbook
? ? Dim showFolder??As Boolean
? ? showFolder = False
? ? With fDialog
? ?? ???. "Excel 文件", "*.xls; *.xlsx; *.xlsm", 1
? ?? ???If .Show = -1 Then
? ?? ?? ?? ?For Each vrtSelectedItem In .SelectedItems
? ?? ?? ?? ?? ? '如果选择了本工作簿则跳过
? ?? ?? ?? ?? ? If InStrRev(vrtSelectedItem, = 0 Then
? ?? ?? ?? ?? ?? ???On Error Resume Next
? ?? ?? ?? ?? ?? ???Set wkBook = ReadOnly:=True, Password:="")
? ?? ?? ?? ?? ?? ???'跳过设置打开密码的工作簿
? ?? ?? ?? ?? ?? ???If Not wkBook Is Nothing Then
? ?? ?? ?? ?? ?? ?? ???'跳过隐藏的工作簿
? ?? ?? ?? ?? ?? ?? ???If Windows.Visible = True Then
? ?? ?? ?? ?? ?? ?? ???showFolder = True
? ?? ?? ?? ?? ?? ?? ???'转换开始
? ?? ?? ?? ?? ?? ?? ??? Type:=xlTypePDF, Filename:= _
? ?? ?? ?? ?? ?? ?? ?? ???Left(vrtSelectedItem, InStrRev(vrtSelectedItem, ".")
- 1) & ".pdf" _
? ?? ?? ?? ?? ?? ?? ?? ???, Quality:=xlQualityMinimum,
IncludeDocProperties:=False, IgnorePrintAreas _
? ?? ?? ?? ?? ?? ?? ?? ???:=True, OpenAfterPublish:=False
? ?? ?? ?? ?? ?? ?? ??? , savechanges = False
? ?? ?? ?? ?? ?? ?? ???Else
? ?? ?? ?? ?? ?? ?? ??? , savechanges = False
评论0
最新资源