开启宏命令功能
此处以PowerPoint 2013为例,其他版本的操作略有不同。
点击菜单:文件→选项→自定义功能区→主选项卡,勾选“开发工具”。或直接在所有命令中找到“宏”,添加到自定义菜单中即可。
点击菜单“开发工具”,可以在常用工具栏“代码”中看到“宏”的图标
启用宏并输入相应的vba代码
操作步骤:1.在“开发工具”选项卡的“代码”组中,单击“宏”。如果“开发工具”选项卡不可用,请参阅显示“开发工具”选项卡。2.在“宏”对话框的“宏”名称框中,键入宏的名称,如pdf。3.在“宏作用于”列表中,单击要存储宏的模板或演示文稿。默认是活动文档,不用更改。4.在“说明”框中,键入宏的说明。可以不用填写。5.单击“创建”打开 Visual Basic for Applications。
将如下----之间的代码拷贝复制到打开的宏命令代码窗口中,保存:----
Sub SaveAsPDF()
ActivePresentation.ExportAsFixedFormat ActivePresentation.Path & "\" & ActivePresentation.Name & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
End Sub
----代码解释:
ActivePresentation.ExportAsFixedFormat 将ppt文档导出,利用参数设置导出为对应的格式。
ActivePresentation.Path & "\" & ActivePresentation.Name & ".pdf" 将ppt文档另存为当前目录下的pdf,文件名同ppt。
此处可以将相对引用更改为混合引用,如:“D:\DATA\" & ActivePresentation.Name & ".pdf";
或绝对引用,如:D:\DATA\a.pdf"
整理代码来源:
原始详细代码:https://msdn.microsoft.com/en-us/library/office/ff746080.aspx,有相关的一系列对应参数、代码的解释,可以进一步学习参考。
----之间为代码:
----
Public Sub ExportAsFixedFormat_Example()
ActivePresentation.ExportAsFixedFormat "C:\Users\username\Documents\test.pdf", ppFixedFormatTypePDF, ppFixedFormatIntentScreen, msoCTrue, ppPrintHandoutHorizontalFirst, ppPrintOutputBuildSlides, msoFalse, , , , False, False, False, False, False
End Sub
----
在运行时可能会出现下面的错误:
究其原因,应是教案上参数设置过多,将ppFixedFormatIntentScreen后面的多余参数全部删除即可。
这里是本文引用的简化过后的代码,可以有效运行,不出错误。
http://www.free-power-point-templates.com/articles/vba-macro-save-a-powerpoint-presentation-to-pdf-programmatically/
添加一键运行宏命令功能
方法有二:
1. 文件→选项→自定义功能区→从下列位置选择命令→宏→添加到自定义菜单中。
2. 文件→选项→快速访问工具栏→从下列位置选择命令→宏→添加到自定义菜单中。
注意事项:宏命令生成的按钮,不管是在常用工具栏中,还是在快速启动工具栏中,一般都只能在打开有宏命令的文件后,在活动的ppt文件中运行。
含有宏命令的PowerPoint2013文件需要保存为pptm格式,才能保存宏的vba代码。
扩展应用
可以结合Excel数据清单,用ppt设计好圣诞贺卡后,快速转换为pdf,发给客户。
准备数据清单:字段名:
公司,姓名,称呼,电邮等
在已经设置好贺卡的ppt中,打开”开发工具“功能,运行宏,添加代码如下:Sub PDF()
ActivePresentation.ExportAsFixedFormat "C:\Users\Users\Desktop\christmas2015.pdf", ppFixedFormatTypePDF, ppFixedFormatIntentScreen
End Sub
目录中路径代码可以更改,本处为默认的桌面位置。
然后将ppt另存为pptm文件。
用上面的操作”添加一键运行宏命令功能“,来添加临时的生成pdf的按钮,可以将ppt一键生成pdf到桌面。
修改相应的称谓,生成pdf后,将桌面的christmas2015.pdf拖动到邮件中。
发送邮件成功后,再将称谓修改为另一客户的,一键生成christmas2015.pdf覆盖桌面原有文件。依次操作,知道快速发送完所有电子版pdf的贺卡。
ppt生成的pdf文件,如背景没有空白,pdf也没有空白。
如用虚拟软件如pdffactory、bullzip等打印背景没有空白的ppt,多数pdf将要在pdf的四边留下空白边框。