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

数日前、ある読者から、PowerPointプレゼンテーションの作成を最初から自動化し、既存のプレゼンテーションにスライドをすばやく追加する方法があるかどうか尋ねられました。私は、そのスクリプトが最も有用なPowerPointマクロのリストに非常に含まれている可能性があります。 

過去に示したように、PowerPointにはマクロレコーダーが含まれていません(どちらもマクロ用のレコーダーが組み込まれているExcelやWordとは異なります)。したがって、PowerPointを自動化するための単純なマクロを作成するために使用できる古き良きVisual Basic forApplicationが残っています。PowerPoint Automationにはさらに別の方法がありますが、それらはこのチュートリアルの範囲を超えています。

今日の短いチュートリアルでは、3つの異なるユースケースについて説明します。

  1. 新しいプレゼンテーションの作成(空白またはテンプレートを使用)
  2. 既存のプレゼンテーションにスライドを追加します。
  3. 上記の2つのケースの組み合わせ(最初から作成とスライドの追加)

始めましょう。

リボンを見てください。メニューに[開発者]エントリが表示されない場合は、コーディングを開始する前に、[開発者]タブを有効にする必要があります。

開発者メニューをリボンに表示した後、先に進んで開発者を押し、次にVisual Basicボタンを押して(または単に先に進んでAlt + F11を押して)、Visual BasicIDEを開きます。

PowerPointプレゼンテーションを作成するためのVBA

  1. VBエディターで、VBAProjectを右クリックし、[挿入]をクリックします。
  2. モジュールを選択します。
  3. 新しく作成したモジュールに次のコードを貼り付けます。
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
  1. [ファイル]、[保存]の順にクリックします。
  2. コードを実行するには、[実行]をクリックしてから、[サブ/ユーザーフォームの実行](または単にF5)を選択します。
  3. VBエディターを閉じます。

スライドを挿入するVBA

  1. VBエディターで、VBAProjectを右クリックし、[挿入]をクリックします。
  2. モジュールを選択
  3. 新しく作成したモジュールに次のコードを貼り付けます。
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
  1. [ファイル]、[保存]の順にクリックします。
  2. コードを実行するには、[実行]をクリックしてから、[サブ/ユーザーフォームの実行](または単にF5)を選択します。
  3. VBエディターを閉じます。

新しいプレゼンテーションを設定してスライドを追加するマクロ

これは、上記で概説した2つのスニペットを混同しているだけです。

Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub

次に、VBAを使用してPowerPointで図形をプログラムで作成するためのチュートリアルを調べることができます。

ExcelからPowerPointプレゼンテーションを生成する

最後のケースは、Excelスプレッドシートから直接PowerPointプレゼンテーションを作成したい場合です。Wordや他のMicrosoft365アプリケーションから同じ手法を使用できます。

  • スプレッドシートをPowerPointデータモデルにリンクする([ツール] >> [参照]から)
  • Excelスプレッドシートにボタンを挿入します([開発者] >> [挿入]をクリックしてからコマンドボタンを選択します)。
  • 以下のVBAコードをスプレッドシートVBAプロジェクトに挿入します(シートに直接、またはVBAモジュールに)
  • 必要に応じてスクリプトを変更します。
  • 実行(F5を押す)して結果をテストします。
Sub CreatePresentationFromExcel()


Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")

Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)

NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close

MyPPt.Quit

MsgBox ("Presentation saved")
End Sub

お楽しみください🙂

Excel VBA PowerPoint の長所

  • Powerpoint で VBA を使用すると、ppt ファイルに巨大なコンテンツを含むスライドが多数含まれている場合に簡単に処理できます。
  • Powerpoint を使用した VBA は、使用できる機能が限られている場合でも、自動化を実現します。

Excel VBA PowerPointの短所

  • [ツール] メニュー オプションにある [参照] オプションから Microsoft PowerPoint 15.0 オブジェクト ライブラリ を選択する必要があります。これは、開始時に必要です。例-1、PowerPoint のコードを実行するたび。

覚えておくべきこと

  • コードを記述した後、ファイルを Macro-Enable Presentation 形式で保存します。これは、コードを紛失したり、将来同じコードを何度も使用したりすることを避けるのに役立ちます。
  • Excel から PowerPoint にジャンプしてページ間のインターフェイスを変更する必要があるため、ここでは再コーディング機能は機能しません。
  • 実行する前に必ずコードをコンパイルしてください。これは、コード内のエラーを見つけるのに役立ちます。これは、大きな行のコードを記述するときに非常に役立ちます。
  • コードを実行して実装するには、PowerPoint スライドに貼り付けるグラフが含まれる Excel シートを開く必要があります。
  • 必要に応じて PowerPoint でグラフを配置できます。

コメントを残す

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