簡體   English   中英

VBA-將單個PowerPoint幻燈片導出為PDF文件,按內容字段命名

[英]VBA - Export individual PowerPoint slides into PDF files, named by content field

我大約有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)。

關於我的項目的更多信息:
1.我正在整理數千行“動作”(數據),以基於4種不同獎勵類別的標准,為12-15名不同的高管確定認可獎的獲獎者。
2.計算結果,然后從LDAP目錄中檢索獲獎者信息(名稱,ID,以及他們的經理和行政人員的名稱)。 然后放入csv中以便在以后的步驟進行郵件合並。
3.所有幻燈片均使用模板幻燈片平台(每個12-15位高管有3-4個獲勝者)。
4.從這些幻燈片中創建單個PDF證書。
5.起草了賀電,從准備好的csv中提取字段進行郵件合並,然后將其導出到Outlook 2011發件箱(客戶端脫機)。
6.我將每個證書分別附加到發件箱中的每個郵件上。
7.發送。

我已經編譯了鏈接在這里的文件的樣本集: 識別文件(樣本)

每張幻燈片上都有一個或幾個形狀。 為了說明起見,假定收件人的名字是第一種形狀。

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

取決於幻燈片的配置方式,它可能會更復雜(例如,如果形狀包含名稱其他文本,則需要一個函數來解析出正確的名稱並省略其余名稱,依此類推。

如果您需要進一步的幫助,請提供有關該問題的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM