首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA -导出单个PowerPoint幻灯片到PDF文件中,按内容字段命名。

VBA -导出单个PowerPoint幻灯片到PDF文件中,按内容字段命名。
EN

Stack Overflow用户
提问于 2014-04-08 22:53:08
回答 1查看 2.2K关注 0票数 0

我有15种不同的滑板,每个都有3-4张幻灯片。每一层都由“证书”组成,这些证书将被打破,并交给证书上所指名的每个接收者。这个过程每个月都会重复。

理想情况下,我希望使VBA脚本能够提取每个工作表以保存为(或打印为) PDF,并以幻灯片上指定的收件人的名称保存文件.这个是可能的吗?

我所发现的最好的代码(它在我的mac上不起作用,但在VM上工作得很好),它可以将幻灯片分成PDF格式,但我希望更改命名。

任何帮助都将不胜感激!!

代码语言:javascript
运行
复制
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的一个重要原因)。

更多关于我的项目:

  1. 我正在汇编几千行“行动”(数据),根据4个不同奖项类别的标准,为12-15个不同的高管确定一个奖项的获奖者。
  2. 对结果进行统计,然后从LDAP目录中检索优胜者信息(姓名、ID以及他们的经理和执行人员的相同信息)。然后在以后的步骤中放入csv进行邮件合并。
  3. 所有幻灯片都使用模板幻灯片,(12-15名主管每人有3-4名获奖者)。
  4. 每个PDF证书都是从这些幻灯片创建的。
  5. 起草祝贺信息,从准备好的csv中提取邮件合并字段,然后导出到outlook 2011发件箱(客户端脱机)。
  6. 我在发件箱中手动将每个单独的证书附加到每个邮件上。
  7. 发送。

我已经编译了这里链接的文件的示例集:识别文件(样本)

EN

回答 1

Stack Overflow用户

发布于 2014-04-09 02:53:16

每张幻灯片上都有一个或几个形状。为了举例说明,假设收件人的姓名为第一个形状。

代码语言:javascript
运行
复制
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

它可能更复杂,取决于幻灯片的配置方式(例如,如果有一个包含名称和其他文本的形状,则需要一个函数来解析正确的名称并省略其他名称,等等)。

如果您需要进一步的帮助,请提供更多的详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22949769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档