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 でグラフを配置できます。

ジンジャー 2.7.53.0

ジンジャー 2.7.53.0

Ginger は無料のスペル チェッカーと文法チェッカーです。

ブロック

ブロック

Blocks は、小学校 3 年生向けの探知能力と視覚能力を訓練するための知的なゲームであり、教師による IT 指導支援プログラムに組み込まれています。

マスウェイ

マスウェイ

Mathway は、デバイスに内蔵されている電卓よりも複雑なツールを必要とする数学の問題をすべて解決できる、非常に便利なアプリです。

アドビプレゼンター

アドビプレゼンター

Adobe Presenter は、Adobe Systems によってリリースされた e ラーニング ソフトウェアで、Microsoft Windows プラットフォーム上で Microsoft PowerPoint プラグインとして利用できます。

オオハシ 2.3.0

オオハシ 2.3.0

Toucan は教育テクノロジー プラットフォームです。日常的に使用される一般的な Web サイトを閲覧しながら、新しい言語を学習できます。

ENetViet 24.2

ENetViet 24.2

eNetViet は、保護者と子供が勉強している学校を結び付け、子供の現在の学習状況を明確に理解できるようにするアプリケーションです。

デュオリンゴ

デュオリンゴ

Duolingo - 無料で言語を学ぶ、または単に Duolingo は、さまざまな言語を学び、練習できる教育プログラムです。

ラピッドタイピング

ラピッドタイピング

RapidTyping は、タイピング速度を向上させ、スペル ミスを減らすのに役立つ、便利で使いやすいキーボード トレーニング ツールです。RapidTyping では、さまざまなレベルに合わせてレッスンが構成されており、タイピングの方法や既存のスキルを向上させる方法を学びます。

MathType 7.4.10.53

MathType 7.4.10.53

MathType は、開発者 Design Science (Dessci) が提供するインタラクティブな方程式ソフトウェアで、ワード プロセッシング、プレゼンテーション、e ラーニングなどの数学的記法を作成して注釈を付けることができます。このエディタは、TeX、LaTeX、および MathML ドキュメントの作成にも使用されます。

文法的に

文法的に

Grammarly の AI を活用したアプリは、人々のコミュニケーションをより効果的にするのに役立ちます。何百万ものユーザーが毎日 Grammarly を利用して、メッセージ、ドキュメント、ソーシャル メディアの投稿をより明確に、エラーなく、よりプロフェッショナルなものにしています。