みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
さあ、いよいよ始まりましたエクセルVBAでPowerPointを操作するシリーズです。
エクセルで様々な集計や分析をした結果の表やグラフを、最終的にPowerPointの資料にまとめる場合がとっても多いと思います。
一回こっきりでコピペの回数が多くないのであれば、手作業でコピペをしても良いのでしょうけれども
- 毎週や毎月など定期的に同じPowerPoint資料を作っている
- 貼り付けるグラフがやたら多い
などといったときには、ぜひマクロで自動化をしちゃいましょう!
「繰り返し」はプログラムの大得意とするところですからね!
では、エクセルVBAでPowerPointを操作をすべく最初の一歩としてパワポを開いて閉じるだけの簡単なプログラムを紹介します。
PowerPointを操作するためのライブラリを追加
まず事前準備として、エクセルVBAからPowerPointを操作できるようにするために、「Microsoft PowerPoint X.X Object Library」というライブラリを追加する必要があります。
手順ですが、まずVisual Basic Editorのメニューから「ツール」→「参照設定」とたどります。
「参照設定」のウィンドウが開きますので、参照可能なライブラリファイルの中から「Microsoft PowerPoint X.X Object Library」を探してチェック、そして「OK」です。
数字はPowerPointのバージョンによって異なります。私の場合は2013で「15.0」でした。
これで準備OK!早速いじくっていきましょう。
PowerPointのアプリケーションを立ち上げる
まず、PowerPointのアプリケーションを立ち上げてみましょう。
こちらのプログラムです。
Sub PowerPointを立ち上げる()
Dim ppApp As PowerPoint.Application '新規PowerPointアプリケーションオブジェクト
Set ppApp = CreateObject("PowerPoint.Application")
ppApp.Visible = True 'PowerPointアプリケーションを表示
MsgBox "PowerPointが立ち上がりました"
ppApp.Quit 'PowerPointアプリケーションを終了
Set ppApp = Nothing 'オブジェクトを開放
End Sub
このプログラムを実行しますと
このようにめでたくPowerPointが立ち上がります。何にも表示されませんけどね。
その後「PowerPointが立ち上がりました」というメッセージが出るので「OK」をすると、PowerPointのアプリケーションが終了するという動作をします。
以下で詳細を解説していきます。
PowerPointアプリケーションの生成と変数へのセット
まず、3行目ですがPowerPointアプリケーションのオブジェクトを生成して、それを変数にセットします。
Set オブジェクト変数 = CreateObject(“PowerPoint.Application”)
これで新しいPowerPointアプリケーションオブジェクトを生成して、指定した変数名にて取り扱いが可能になります。
PowerPointアプリケーションを表示
次に4行目ですが、生成したPowerPointアプリケーションを表示するにはVisibleプロパティを使い
とします。これでPowerPointアプリケーションが立ち上がり表示されます。
PowerPointアプリケーションの終了
PowerPointアプリケーションを終了させる場合はQuitメソッドを使います。プログラムの8行目ですね。
なんとなく、VisibleプロパティをFalseとかにしたくなりますけどね。
終了したら
として、オブジェクト変数を開放しておきましょう。
まとめ
はい、バッチリエクセルVBAでPowerPointアプリケーションを操作できましたね!
…といっても、アプリケーションを立ち上げて終了しただけですけどね。
まず最初の一歩としては、ライブラリの追加とPowerPointアプリケーションオブジェクトの生成、表示、終了、解放ここまでをしっかり理解頂ければと思います。
次回は実際にPowerPointのファイルを開いてスライドの操作をしてみたいと思います。
どうぞお楽しみに!
連載目次:エクセルVBAでグラフとPowerPointを操作する
エクセルで様々な集計や分析をした結果の表やグラフを、最終的にPowerPointに貼り付け…という作業は結構多いですよね。1つ2つなら良いですが、大量にあった場合は大変です。そんな時にはVBAで自動化をしてしまいましょう!- エクセルVBAでPowerPointを操作するための準備と最も簡単なプログラム
- エクセルVBAでPowerPointのプレゼンテーションを開く方法・スライドを取得する方法
- エクセルVBAでPowerPointスライド上のシェイプ一覧を取得する
- エクセルVBAでPowerPointの特定のシェイプのインデックス番号を調べる方法
- エクセルVBAでPowerPointのテキストボックスに文字を入力する
- エクセルVBAでPowerPointでタイトルを変更しながらスライドを大量に生成する
- 初心者でも分かる!エクセルVBAでグラフを操作し取り扱うための超基本の第一歩
- エクセルVBAでグラフの元となるデータ範囲を次々と変更するプログラム
- 簡単!エクセルVBAでシート上のグラフをコピーしてPowerPointにペーストする
- エクセルVBAでグラフのデータ範囲を変更しながらPowerPointに連続して貼り付ける
- エクセルVBAでグラフタイトルを変更する方法とChartTitleについて
- エクセルVBAでグラフの軸の最大値・最小値や軸タイトルを設定する方法