VBAマクロを使用してPowerPointプレゼンテーションにスライドをコピーして追加するにはどうすればよいですか?

最終更新日:2020年6月

適用対象:Office2019以前。Windowsのみ。

読者からの質問は次のとおりです。

経営陣への四半期報告書のプレゼンテーションの一環として、他のプレゼンテーションからいくつかの一般的な情報スライドをコピーする必要があることがよくあります。大したことではありませんが、この演習を自動化できることは大幅な節約になります。それを達成するためのVBAマクロの助けはありがたいです!

先ほど述べたように、Visual Basic for Applicationsを使用して、PowerPointでスライドのコピーと貼り付けを自動化できます。毎月複数のプレゼンテーションを作成する必要がある場合、このスライドのコピー/インポートの自動化は大幅な時間の節約になる可能性があります。

スライドを追加するためのPowerPointVBA

この簡単な演習を始めましょう。

まず、開発タブが有効になっていて表示されていることを確認します。これを行う方法は次のとおりです

マクロ対応のプレゼンテーション(ファイルタイプは.pptm)を既に作成しており、ソースプレゼンテーション(これをsource.pptmと呼びます)と同じディレクトリに配置していると仮定します。VBAを使用してPowerPointプレゼンテーションを作成する方法は次のとおりです。

まず、そのプレゼンテーションのバックアップを取りましょう(単純なコピーと保存)。

次に、次のマクロを宛先プレゼンテーションの新しいVBAモジュールに挿入します。これを行う方法の詳細は、PowerPointVBAチュートリアルに記載されています。

スライドを自動的にコピーして貼り付けるために必要な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

もちろん、要件に合うように、コード内のスライド番号のインデックスを自由に変更してください。

複数のプレゼンテーションをループさせて、それぞれの特定のスライドを管理レポートに挿入することができます。

スライドを複製するためのPowerPointVBA

スライドを別のプレゼンテーションにコピーする代わりに、プレゼンテーション内の1つ以上のスライドのクローンを作成することをお勧めします。

Sub CopySlides()

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

ActivePresentation.Slides(3).Duplicate

End Sub

これらは、PowerPoint自動化の簡単な例のほんの一例です。特定の質問をお探しの読者は、お問い合わせページからお気軽にお問い合わせください。

お役に立てば幸いです🙂

スライドのコピー時に書式を保持する

前の例の問題は、元のプレゼンテーションのテーマの書式設定がコピーされないことでした。2 つのシートの書式が異なると仮定すると、次のようになります。

例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 を使用してスライドマスターをコピーすることはできませんが、代わりにスライドのデザイン プロパティを設定できます。


[解決済み]錆がクラッシュし続ける問題を修正する方法は?

[解決済み]錆がクラッシュし続ける問題を修正する方法は?

Rustに直面すると、起動時または読み込み中にクラッシュし続けます。その後、指定された修正に従って、Rushクラッシュの問題を簡単に停止します…

Intel Wireless AC 9560 が動作しない場合の 9 つの修正 (コード 10)

Intel Wireless AC 9560 が動作しない場合の 9 つの修正 (コード 10)

Intel Wireless AC 9560 コード 10 の修正方法について詳しく解説します。Wi-Fi および Bluetooth デバイスでのエラーを解決するためのステップバイステップガイドです。

「不明なソフトウェア例外(0xe0434352)」を修正するにはどうすればよいですか?

「不明なソフトウェア例外(0xe0434352)」を修正するにはどうすればよいですか?

Windows 10および11での不明なソフトウェア例外(0xe0434352)エラーを修正するための可能な解決策を見つけてください。

[フルガイド]Steamのファイル権限の欠落エラーを修正する方法は?

[フルガイド]Steamのファイル権限の欠落エラーを修正する方法は?

Steamのファイル権限がないエラーにお困りですか?これらの8つの簡単な方法で、Steamエラーを修正し、PCでゲームを楽しんでください。

Windows 10でアプリとプログラムが自動的に最小化される問題を修正する7つの方法

Windows 10でアプリとプログラムが自動的に最小化される問題を修正する7つの方法

PC での作業中に Windows 10 が自動的に最小化される問題の解決策を探しているなら、この記事ではその方法を詳しく説明します。

学生が学校でブロックされることを気にせずに最もよくプレイするゲーム トップ 10

学生が学校でブロックされることを気にせずに最もよくプレイするゲーム トップ 10

ブロックされることを心配せずに学生が学校で最もよくプレイするゲーム トップ 10。オンラインゲームの利点とおすすめを詳しく解説します。

ワードウォール

ワードウォール

Wordwallは、教師が教室のアクティビティを簡単に作成できるプラットフォームです。インタラクティブな体験で学習をサポートします。

[解決済み]Ntoskrnl.Exe高CPU使用率Windows10

[解決済み]Ntoskrnl.Exe高CPU使用率Windows10

この記事では、ntoskrnl.exeの高いCPU使用率を解決するための簡単な方法を紹介します。

VACを修正すると、8つの簡単な方法でゲームセッションエラーを確認できませんでした

VACを修正すると、8つの簡単な方法でゲームセッションエラーを確認できませんでした

VACを修正するための解決策を探していると、CSでのゲームセッションエラーを確認できませんでした:GO?次に、与えられた修正に従います

INTERNAL_POWER_ERROR(0x000000A0)を修正する方法

INTERNAL_POWER_ERROR(0x000000A0)を修正する方法

簡単に取り除くために、ソリューションを1つずつ実行し、Windows 10、8.1、8、および7のINTERNAL_POWER_ERRORブルースクリーンエラー(0x000000A0)を修正します。