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

コメントを残す

CRMを購入する前に、Excelでシンプルなリードトラッキングシステムを作成する方法

CRMを購入する前に、Excelでシンプルなリードトラッキングシステムを作成する方法

CRMソフトウェアに投資する前に、表、ドロップダウンリスト、フォローアップ日、フィルター、条件付き書式設定、シンプルなピボットテーブルダッシュボードを備えた実用的なExcelリードトラッカーを作成しましょう。

家庭保育用のシンプルな印刷可能な保育出席記録シート:記録すべき内容とその理由

家庭保育用のシンプルな印刷可能な保育出席記録シート:記録すべき内容とその理由

このシンプルな印刷可能な保育出席シートは、家庭での保育の際に、到着、出発、欠席、署名、および必要な記録を記録するために使用できます。

Excel用シンプル在庫棚卸シートテンプレート:小売店向けレイアウトで迅速な照合が可能

Excel用シンプル在庫棚卸シートテンプレート:小売店向けレイアウトで迅速な照合が可能

SKU、場所、計数数量、差異、再計数、印刷対応機能を備えた、小売店向けのシンプルなExcel在庫棚卸シートを作成します。

地域ビジネス向け印刷可能な1ページマーケティング戦略テンプレート

地域ビジネス向け印刷可能な1ページマーケティング戦略テンプレート

この印刷可能な1ページ構成のマーケティング戦略テンプレートを使用して、地域の顧客層、提供する商品・サービス、チャネルミックス、予算、施策、測定可能な目標を設定しましょう。

従業員の勤務シフト表テンプレート(Excel用、自動時間計算機能付き)を無料でダウンロードできます。

従業員の勤務シフト表テンプレート(Excel用、自動時間計算機能付き)を無料でダウンロードできます。

開始/終了時刻、休憩時間の控除、夜勤処理、週ごとの合計、簡単な勤務時間計算機能などを備えた、無料の従業員シフトスケジュールをExcelで作成できます。

米国の中小サービス業向けおすすめ無料請求書作成アプリ(2026年版)

米国の中小サービス業向けおすすめ無料請求書作成アプリ(2026年版)

Zoho Invoice、Square、Wave、PayPal、Invoice Ninjaなど、2026年に米国サービス業向けに提供される最高の無料請求書作成アプリを比較してみましょう。

小規模チーム向けのシンプルな隔週給与トラッカーExcelテンプレート:初心者にも使いやすい設定

小規模チーム向けのシンプルな隔週給与トラッカーExcelテンプレート:初心者にも使いやすい設定

小規模チーム向けに、Excelでシンプルな隔週給与トラッカーを作成します。明確なシート、数式、チェック機能、そして安全な給与照合のための実用的な制限事項を盛り込みます。

Salesforceの連絡先をクリーンなExcel形式にエクスポートする方法

Salesforceの連絡先をクリーンなExcel形式にエクスポートする方法

Salesforceの連絡先をクリーンなExcelファイルにエクスポートする方法、IDとテキストフィールドを保持する方法、重複を安全に削除する方法、そしてよくあるCSVファイルのミスを回避する方法を学びましょう。

小規模請負業者向け、印刷可能なExcel形式の建設工事見積書テンプレート

小規模請負業者向け、印刷可能なExcel形式の建設工事見積書テンプレート

実用的なコストカテゴリ、数式、マークアップフィールド、印刷設定、および請負業者がすぐに使えるチェックリストを備えた、印刷可能な建設工事見積書をExcelで作成します。

Word用 印刷可能なイベント企画チェックリスト&予算テンプレート

Word用 印刷可能なイベント企画チェックリスト&予算テンプレート

Word用の印刷可能なイベント企画チェックリストと予算テンプレートを活用し、担当者、期限、コスト、ベンダー、イベント当日の準備状況を明確な品質チェック項目で管理しましょう。