本文转自www.excel123.cn 原文作者 Excel123
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”加载项,下载地址http://www.microsoft.com/zh-cn/download/details.aspx?id=7
相关推荐
"用VBA批量转换Excel工作簿为.doc" 该资源提供了一个使用VBA代码批量将Excel工作簿转换为PDF格式文件的解决方案。下面是详细的知识点解释: VBA的应用 VBA(Visual Basic for Applications)是Microsoft Office...
批量转换Excel到PDF的主要知识点包括: 1. **VBA基础**:VBA是一种基于Visual Basic的脚本语言,用于在Office应用程序中编写宏或自动化任务。了解VBA的基础语法,如变量声明、条件语句、循环结构以及函数调用,是...
将Excel工作簿快速、批量转换为PDF电子文档
在Excel中,VBA(Visual Basic for Applications)是一种强大的编程工具,可以让我们自动化许多重复性的任务,例如在本例中的“Excel-VBA应用:循环将多个工作表另存为PDF的宏代码”。这个宏功能允许用户批量将工作...
2. **使用宏**:如果"Excel工作簿批量转换为PDF.xlsm"中的宏是用于批量转换,那么用户可以打开这个宏启用的工作簿,按照指示输入待转换的Excel文件路径,运行宏即可一次性将所有指定的Excel文件转换为PDF。...
CopyFromRecordset函数将SQL数据库中的查询结果直接复制到Excel工作表中,而BCP(Bulk Copy Program)命令用于将SQL数据库文件导出为CSV格式,并通过VBA调用命令行工具来完成转换。 4. 使用ADO连接数据库:ADO...
1. 打开Excel文件:打开你需要转换的Excel工作簿,确保所有的编辑和格式设置都已完成。 2. 文件另存为PDF:在菜单栏中选择“文件” -> “另存为”,在弹出的对话框中,选择保存类型为“PDF”。 3. 多文件批量转换:...
**2.12 利用VBA设置工作表使用权限** - **方法**: 通过VBA代码限制用户对工作表的操作权限。 - **示例**: 使用WITH语句、对象变量等方法。 **2.13 提高EXCEL中VBA的效率** - **方法**: 减少不必要的对象引用、使用...
这个过程通常被称为“批量将工作表转换为独立的工作簿”。这是一项非常实用的技能,尤其当你处理的数据量大且每个工作表对应不同的主题时。以下就是如何实现这一操作的详细步骤和相关知识点: 1. **准备工作**: ...
在本教程中,我们将探讨如何利用VBA将Excel工作簿转换为PDF格式,涵盖三种不同场景:转换所有sheet、转换第一个sheet以及转换指定sheet。 首先,让我们了解基本的VBA环境和代码结构。打开Excel,按下Alt + F11键...
根据给定文件的信息来看,实际上该文件描述了一个VBA宏脚本的功能,即批量合并Excel文件,但提供的代码示例却是关于如何使用VBA来批量转换PowerPoint (PPT) 文件为PDF格式的。因此,这里我们将分别针对文档描述中的...
这个程序的主要任务是设置Excel工作簿的页面布局、指定PDF文件的保存路径和文件名,并调用适当的组件或功能来创建PDF文件。 #### 二、关键技术点解析 1. **使用VBA进行编程:** - VBA是一种用于Office应用程序的...
4. **Excel转PDF**:在VC++中,可以利用Excel的SaveAs方法将工作簿保存为PDF格式。这要求安装有支持PDF输出的Office版本,或者使用第三方库进行转换。 5. **vc_to_pdf库**:一些开源项目提供了从VC++直接转换到PDF...
3. **打开Excel工作簿**: ```vba Set WK = xlObj.Workbooks.Open("c:\tt.xls") ``` - 使用`Open`方法打开指定路径的Excel文件。 4. **获取Word文档对象**: ```vba Dim doc As Word.Document Set doc = ...
如果你使用的是较新版本的Excel(例如Office 365),还可以通过快速访问工具栏上的“导出”按钮直接将工作表转换为PDF。 三、自动化批量转换 在大量Excel文件需要转换为PDF的情况下,可以利用批处理工具或者VBA宏来...
此时,Word表格会转换为Excel的单元格格式。 二、利用Microsoft Office的数据导入功能 1. 在Excel中,点击“数据”选项卡,选择“自其他源”下的“从文本/CSV”。 2. 引导向导会提示你选择文件,找到你的Word文档...
- 使用VBA(Visual Basic for Applications):Excel内置的VBA编程环境可以编写宏,实现自动化操作,包括将工作簿保存为PDF。用户可以创建一个宏,指定要导出的特定工作表,并设置输出路径和文件名。 - 内置功能:...
1. **另存为**:最基础的方式是使用“文件”菜单的“另存为”选项,可以选择不同的文件格式,如Excel工作簿(.xlsx)、PDF、HTML、CSV等。PDF格式便于阅读和打印,而HTML则适合于网络分享。 2. **导出数据到CSV**:...
标题“pdf不打开,批量检索张数”所指的是在不打开PDF文件的情况下,需要实现对PDF文档页数的快速批量查询。这通常涉及到PDF处理工具或编程技术,目的是提高工作效率,避免逐一打开大数量的PDF文件来查看其页数。 在...
宏的存储位置可以选择在当前工作簿、新工作簿或个人宏工作簿中,其中个人宏工作簿可以在任何打开的工作簿中使用,方便在多个文档间共享宏。 学习和掌握Excel VBA不仅能够提高日常工作效率,还能够让你在数据分析、...