我有15种不同的滑板,每个都有3-4张幻灯片。每一层都由“证书”组成,这些证书将被打破,并交给证书上所指名的每个接收者。这个过程每个月都会重复。
理想情况下,我希望使VBA脚本能够提取每个工作表以保存为(或打印为) PDF,并以幻灯片上指定的收件人的名称保存文件.这个是可能的吗?
我所发现的最好的代码(它在我的mac上不起作用,但在VM上工作得很好),它可以将幻灯片分成PDF格式,但我希望更改命名。
任何帮助都将不胜感激!!
Sub ExportSlidesToIndividualPDF()
Dim oPPT As Presentation, oSlide As Slide
Dim sPath As String, sExt As String
Set oPPT = ActivePresentation
sPath = oPPT.FullName & "_Slide_"
sExt = ".pdf"
For Each oSlide In oPPT.Slides
i = oSlide.SlideNumber
oSlide.Select
oPPT.ExportAsFixedFormat _
Path:=sPath & i & sExt, _
FixedFormatType:=ppFixedFormatTypePDF, _
RangeType:=ppPrintSelection
Next
Set oPPT = Nothing
End Sub
编辑以作进一步澄清:
我被迫在我的Windows虚拟机中运行脚本,当我这样做时,我正在丢失我在幻灯片中设置的所有格式,这些格式是在office '11中创建的(这是我首先导出到PDF的一个重要原因)。
更多关于我的项目:
我已经编译了这里链接的文件的示例集:识别文件(样本)
发布于 2014-04-09 02:53:16
每张幻灯片上都有一个或几个形状。为了举例说明,假设收件人的姓名为第一个形状。
Sub ExportSlidesToIndividualPDF()
Dim oPPT As Presentation, oSlide As Slide
Dim sPath As String, sExt As String
Set oPPT = ActivePresentation
sExt = ".pdf"
For Each oSlide In oPPT.Slides
'## Retrieve the recipient's name from the shape and append it to the exported path:
sPath = oPPT.FullName & oSlide.Shapes(1).TextFrame.TextRange.Text
i = oSlide.SlideNumber
oSlide.Select
oPPT.ExportAsFixedFormat _
Path:=sPath & sExt, _
FixedFormatType:=ppFixedFormatTypePDF, _
RangeType:=ppPrintSelection
Next
Set oPPT = Nothing
End Sub
它可能更复杂,取决于幻灯片的配置方式(例如,如果有一个包含名称和其他文本的形状,则需要一个函数来解析正确的名称并省略其他名称,等等)。
如果您需要进一步的帮助,请提供更多的详细信息。
https://stackoverflow.com/questions/22949769
复制相似问题