如何使用 VBA 宏將添加幻燈片複製到 PowerPoint 演示文稿中?

最後更新時間:2020 年 6 月

適用於:Office 2019 及更早版本。僅限窗戶。

這裡有一個讀者的問題:

作為我向管理層提交季度報告的一部分,我經常需要從其他報告中復制幾張一般信息幻燈片。沒什麼大不了的,但能夠自動執行此練習將是一個重要的節省。任何 VBA 宏幫助實現這一點表示讚賞!

正如您剛才提到的,您可以使用 Visual Basic for Applications 在 PowerPoint 中自動複製和粘貼幻燈片。如果您需要每月創建多個演示文稿,此幻燈片複製/導入自動化可以節省大量時間!

用於添加幻燈片的 PowerPoint VBA

讓我們開始這個簡單的練習。

首先,確保您的開發選項卡已啟用且可見。以下是如何做到這一點

我假設您已經創建了一個啟用宏的演示文稿(文件類型為 .pptm),您將其放置在與源演示文稿(我將其稱為 source.pptm)相同的目錄中。以下是使用 VBA 創建 PowerPoint 演示文稿的方法

首先,讓我們備份那個演示文稿(簡單的複制和保存)。

然後讓我們繼續將以下宏插入到目標演示文稿中的新 VBA 模塊中。可以在我們的PowerPoint VBA 教程中找到有關如何執行此操作的所有詳細信息。

這是自動複製和粘貼幻燈片所需的 VBA 代碼。

我做了幾個假設:

  • 您的源演示文稿名為 source.pptm
  •  您將從源演示文稿中粘貼幻燈片 2-4
  • 您將從幻燈片 5 開始放置複製的幻燈片。

Sub InsertFromOtherPres()

' This short VBA macro copies slides from one presentation and inserts them into another

ActivePresentation.Slides.InsertFromFile FileName:="source.pptm", Index:=1, SlideStart:=2, 
SlideEnd:=4

End Sub

顯然,您可以隨意更改代碼中的幻燈片編號索引,以便它們符合您的要求。

您可以循環播放多個演示文稿,並將每個演示文稿中的特定幻燈片插入到您的管理報告中。

用於復制幻燈片的 PowerPoint VBA

您可能希望在演示文稿中克隆一張或多張幻燈片,而不是將幻燈片複製到另一個演示文稿:

Sub CopySlides()

' Short snippet to duplicate the third slide in a presentation, change the index/es accrodingly

ActivePresentation.Slides(3).Duplicate

End Sub

這些只是 PowerPoint 自動化的幾個簡單示例。尋找具體問題的讀者,請隨時通過聯繫頁面發送查詢。

希望它有幫助🙂

複製投影片時保留格式

上一個範例的問題是原始簡報主題格式未複製。假設兩張紙的格式不同,則會發生以下情況:

實施例1

 

Sub main()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

Next i

objPresentation.Close

End Sub

運行程式碼之前
這是我們要複製的投影片的簡報: 結果: 為了解決此問題,您可以使用以下程式碼:
要複製的投影片

結果

 

Sub Example2()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

    Presentations.Item(1).Slides.Item(Presentations.Item(1).Slides.Count).Design = _

        objPresentation.Slides.Item(i).Design

Next i

objPresentation.Close

End Sub

除了複製投影片之外,上面的程式碼還複製了設計。如果您想手動執行此操作,則可以將投影片母版複製到新簡報中。您無法使用 VBA 複製投影片母版,但可以設定投影片的設計屬性。

Leave a Comment

[已更新] 如何修復 Windows 10 更新錯誤 0x80244022

[已更新] 如何修復 Windows 10 更新錯誤 0x80244022

為了解決 Windows 10 更新錯誤 0x80244022,請參考有效的解決方案,例如運行疑難解答、檢查網絡設定等。

如何在 Discord 上播放 Disney+

如何在 Discord 上播放 Disney+

唯一比觀看 Disney+ 更好的是和朋友一起觀看。通過本指南了解如何在 Discord 上流式傳輸 Disney+。

已修復:Hamachi 無法在 Windows 10 和 11 上獲取適配器配置

已修復:Hamachi 無法在 Windows 10 和 11 上獲取適配器配置

閱讀完整指南以了解如何解決 Windows 10 和 11 上的 Hamachi 無法獲取適配器配置錯誤,解決方案包括更新驅動程序、防火牆設置等

修復 REGISTRY_ERROR 藍屏錯誤 (0x00000051) 的 7 個工作解決方案

修復 REGISTRY_ERROR 藍屏錯誤 (0x00000051) 的 7 個工作解決方案

了解修復 REGISTRY_ERROR 藍屏錯誤 (0x00000051) 的有效方法,解決 Windows 系統中遇到的註冊表錯誤。

如何在 Roku 上更改音量

如何在 Roku 上更改音量

在 Roku 上調整聲音比使用遙控器向上或向下移動更多。以下是如何在 Roku 上更改音量的完整指南。

如何修復 Roblox 錯誤代碼 267 [7 簡單修復]

如何修復 Roblox 錯誤代碼 267 [7 簡單修復]

在 Roblox 中被禁止或踢出遊戲的錯誤代碼 267,按照以下簡單解決方案輕鬆解決...

[已解決] 如何解決 Rust 不斷崩潰的問題?

[已解決] 如何解決 Rust 不斷崩潰的問題?

面對 Rust 在啟動或加載時不斷崩潰,然後按照給出的修復並輕鬆停止 Rust 崩潰問題...

[已修復] 驅動程序 WudfRd 在 Windows 10 中無法加載錯誤 219

[已修復] 驅動程序 WudfRd 在 Windows 10 中無法加載錯誤 219

如果在 Windows 10 中遇到 Driver WudfRd failed to load 錯誤,事件 ID 為 219,請遵循此處給出的修復並有效解決錯誤 219。

如何修復“未知軟件異常(0xe0434352)”?

如何修復“未知軟件異常(0xe0434352)”?

發現修復此處給出的 Windows 10 和 11 上的未知軟件異常 (0xe0434352) 錯誤的可能解決方案

[已解決] Grand Theft Auto V 中的“Script Hook V 嚴重錯誤”

[已解決] Grand Theft Auto V 中的“Script Hook V 嚴重錯誤”

想知道如何修復 GTA 5 中的腳本掛鉤 V 嚴重錯誤,然後按照更新腳本掛鉤應用程序等修復,重新安裝 GTA 5 和其他