![](/img/trans.png)
[英]VBA Powerpoint on Mac error when combining presentations with ActivePresentation.Slides.InsertFromFile
[英]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.