跳到主要內容

最大化效率:使用巨集將 PowerPoint 同步存成 PPT 跟 PDF

最大化效率:使用巨集將 PowerPoint 同步存成 PPT 跟 PDF

當我們需要分享 PowerPoint 時,通常會以 PDF 格式寄出,本篇文章提供一個小巧的巨集,可以在存檔時同步將檔案存為 PDF 檔案。

程式碼中,首先使用 ActivePresentation.Save 方法將 PowerPoint 檔案存檔,接著使用ActivePresentation.ExportAsFixedFormat 方法匯出 PDF 檔案,同時指定儲存路徑和檔名。在匯出 PDF 時,使用了 FixedFormatType、Intent、FrameSlides、HandoutOrder、OutputType、PrintHiddenSlides 和 RangeType 等參數來設定匯出的格式和範圍。


參數說明:

FixedFormatType(匯出檔案格式):此參數為必要參數,用於指定匯出的檔案格式。可選的值包括 ppFixedFormatTypePDF、ppFixedFormatTypeXPS 等,表示匯出為 PDF 或 XPS 格式等不同類型的檔案。

Intent(匯出目的):此參數為選用參數,用於指定匯出檔案的目的。可選的值包括 ppFixedFormatIntentScreen、ppFixedFormatIntentPrint 等,表示匯出檔案用於螢幕瀏覽或列印等不同目的。

FrameSlides(匯出方式):此參數為選用參數,用於指定匯出檔案的方式。可選的值為 msoTrue 或 msoFalse,表示是否將幻燈片框架包含在匯出的檔案中。如果設定為 msoTrue,則匯出的檔案將包含幻燈片的框架;如果設定為 msoFalse,則匯出的檔案僅包含幻燈片的內容。

HandoutOrder(頁面排列方式):此參數為選用參數,用於指定匯出頁面的排列方式。可選的值包括 ppPrintHandoutHorizontalFirst 或 ppPrintHandoutVerticalFirst,表示頁面橫向或垂直排列。若需更精確地控制頁面的排列方式,也可使用 PrintOptions 參數來設定。

OutputType(匯出內容類型):此參數為選用參數,用於指定匯出的內容類型。可選的值包括 ppPrintOutputSlides、ppPrintOutputTwoSlideHandouts、ppPrintOutputThreeSlideHandouts、ppPrintOutputFourSlideHandouts 等,表示匯出的內容包括幻燈片、二張幻燈片講義頁面、三張幻燈片講義頁面、四張幻燈片講義頁面等不同類型的內容。

PrintHiddenSlides(匯出隱藏幻燈片):此參數用於指定是否匯出隱藏的幻燈片。可選的值為 msoTrue 或 msoFalse,其中 msoTrue 表示匯出隱藏的幻燈片,msoFalse 表示不匯出隱藏的幻燈片。

RangeType(匯出範圍):此參數為選用參數,用於指定匯出的範圍。可選的值包括 ppPrintAll、ppPrintSelection 等,表示匯出全部幻燈片或只匯出所選定的幻燈片。使用此參數時需要注意,若範圍設定為 ppPrintSelection,還需要使用 PrintRange 參數指定要匯出的幻燈片範圍。

PrintRange(匯出範圍):此參數為選用參數,用於指定要匯出的幻燈片範圍。可選的值包括 ppPrintAll、ppPrintSelection 或自定義的幻燈片範圍,例如 "1-3,5,7-9" 等。如果 RangeType 參數設定為 ppPrintSelection,則必須使用 PrintRange 參數來指定要匯出的幻燈片範圍。

這個小巨集讓我們輕鬆地將 PowerPoint 檔案轉換為 PDF 檔案,方便分享或列印。希望這個小技巧能對大家有所幫助。

以下為程式碼:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Sub SaveAsPDF()
    ActivePresentation.Save
    Dim fileName As String
    fileName = ActivePresentation.Name
    fileName = Left(fileName, InStrRev(fileName, ".") - 1)
    ActivePresentation.ExportAsFixedFormat _
        Path:=ActivePresentation.Path & "\" & fileName & ".pdf", _
        FixedFormatType:=ppFixedFormatTypePDF, _
        Intent:=ppFixedFormatIntentPrint, _
        FrameSlides:=msoTrue, _
        HandoutOrder:=ppPrintHandoutVerticalFirst, _
        OutputType:=ppPrintOutputSlides, _
        PrintHiddenSlides:=msoFalse, _
        RangeType:=ppPrintAll
    MsgBox "The file has been saved as a PDF.", vbInformation, "Save As PDF"
End Sub

留言

這個網誌中的熱門文章

Reddit 超強文章:使用 ChatGPT 的 Custom Instruction 提升回答品質

ChatGPT 的 GPTs 筆記 (4):GPTs Konwledge 知識庫的限制與風險

Glarity Chrome 擴充套件:使用 ChatGPT 生成 Youtube/bilibili, Google/Bing, Page Summary, Comment Summary 摘要

Forefront Chat:自由切換 GPT-3.5 和 GPT-4 聊天,現在免費!

提高投資決策效率:利用 ChatGPT 分析資產負債表

ChatGPT 可以顯示美觀數學公式:Tex All the Tings Chrome Extension

TRIZGPT:解決問題的小顧問

當未來和過去交錯:AI 翻譯古老楔形文字 Cuneiform

ChatGPT Sidebar: 全方位 AI 助手 (Chrome Extension)

Grammarly 推出 GrammarlyGo:創新的生成式 AI 寫作助手