Brian正在准备一个工作簿,供那些没有丰富Excel经验的人使用。他希望能够轻松地将它们打印为PDF文件,也​​许只需单击一个按钮即可。他无法控制人们使用哪种版本的Excel或哪种操作系统,但是他想知道是否有一种方法可以完成这种类型的输出。

如果您的用户使用Windows 10,则打印到PDF相对容易,因为它包括(最终!)本机PDF打印机驱动程序。不幸的是,Brian表示他无法控制用户拥有的操作系​​统,这意味着他不能假定他们具有Windows 10中引入的本机PDF输出功能。

幸运的是,Excel至少从Excel 2007起就包含了一种导出为PDF文件的方法。您需要做的就是选择“另存为”(最简单的方法是按F12键),然后使用“另存为类型”下拉列表选择PDF。输出将自动保存为PDF文件。

如果您更喜欢单按钮方法,则可以指示用户向快速访问工具栏添加一个比较深奥的工具:

。显示“ Excel选项”对话框。 (在Excel 2007中,单击“ Office”按钮,然后单击“ Excel选项”。在Excel 2010和更高版本中,显示功能区的“文件”选项卡,然后单击“选项”。)

。在对话框的左侧,单击“自定义”(Excel 2007)或“快速访问”工具栏(Excel 2010或更高版本)。 (请参见图1。)

。使用“从以下位置选择命令”下拉列表选择“所有命令”。

。在命令列表中,选择“发布为PDF或XPS”。

。单击添加按钮。该命令将复制到屏幕的右侧。

。单击确定。

单击此新工具后,将显示一个对话框,该对话框与“另存为”对话框非常相似,不同之处在于所有设置对于“作为PDF文件发布”都是正确的。

您还可以创建执行相同发布任务的宏。

如果要完全控制所创建的PDF文件中包含的内容,则宏是一种很好的方法。

Sub ExportPDF()

Dim sFile As String

sFile = Application.DefaultFilePath & "\" & _       ActiveWorkbook.Name & ".pdf"



Sheets("Sheet1").Select     ActiveSheet.PageSetup.PrintArea = "D6:K57"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _       Filename:= sFile, Quality:=xlQualityStandard, _       IncludeDocProperties:=True, IgnorePrintAreas:=False, _       OpenAfterPublish:= True End Sub

宏将文件名放到sFile变量中;您应该根据需要更改此设置。然后,该宏指定PDF文件应包含的打印区域。在这种情况下,它是Sheet1上的范围D6:K57。显然,您会希望更改此设置以满足您想要包含的内容的需求。

如果决定采用宏路线,则可以在工作簿中添加一个按钮以运行宏,从而使用户可以轻松创建所需的PDF输出。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本提示(13467)适用于Microsoft Excel 2007、2010、2013和2016。