Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » CreateObject("PowerPoint.Application")の戻り値をローカルウィンドウで確認しましょう

CreateObject("PowerPoint.Application")の戻り値をローカルウィンドウで確認しましょう

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel・PowerPoint(バージョン2002 ビルド12527.20194 Microsoft Store)

VBAのCreateObject関数の引数に文字列「PowerPoint.Application」を指定したコードで、Excel VBAからPowerPointを起動してPowerPointファイルを開けることをご紹介しました。

拙著『いちばんやさしいPowerPoint VBAの教本』で繰り返し行っているのと同じように、ローカルウィンドウで、CreateObject("PowerPoint.Application")の戻り値を確認することをおすすめします。

PowerPointフィルを開くVBAのコード

先日ご紹介したSubプロシージャではWith文を使っていましたが、オブジェクト変数を使った以下のような形で実行しましょう。

Sub プレゼンテーションを開く_オブジェクト変数利用()
 Dim pp_app As Object
 Set pp_app = CreateObject("PowerPoint.Application")
 pp_app.Visible = msoTrue
 pp_app.Presentations.Open "C:\temp\sample.pptx"
 Stop
End Sub

CreateObject("PowerPoint.Application")の戻り値を確認する

Stopステートメントで中断しますから、ローカルウィンドウでオブジェクト変数pp_appの確認です。

オブジェクト変数pp_appはAs Objectと宣言され、
  Dim pp_app As Object

CreateObject("PowerPoint.Application")の戻り値、PowerPointライブラリのApplicationオブジェクトへの参照情報が代入されているので、
  Set pp_app = CreateObject("PowerPoint.Application")

ローカルウィドウの[型]欄に「Object/Application」と表示されています。

ローカルウィンドウのこの表示だけを見ていると、pp_appに代入されているApplicationオブジェクトが、Excel.Applicationなのか、PowerPoint.Applicationかハッキリしませんが、[+]をクリックして展開すると、PowerPoint.Applicationであることがわかります。

Nameプロパティには「Microsoft PowerPoint」と表示されています。

また、オブジェクト変数pp_appをローカルウィンドウで展開したときに表示されている項目は、PowerPoint VBAで、Applicationオブジェクトをオブジェクト変数に代入して、ローカルウィンドウで確認する場合とまったく同じです。

もちろんWindowStateプロパティの値を変更すれば、CreateObject("PowerPoint.Application")で起動したPowerPointの、ウィンドウの状態が変化します。操作しているのは、Excelから起動したVBEのローカルウィンドウですが、PowerPointの状態が変化します。

CreateObject("PowerPoint.Application")が、PowerPointライブラリのApplicationオブジェクトへの参照情報を返すことを、しっかりとイメージしてください。

ステップ実行しながらローカルウィンドウを確認しましょう

拙著ではステップ実行しながらローカルウィンドウを確認する実習を繰り返しています。上記のSubプロシージャでも同様の確認をしてみましょう。

ステップ実行を開始して
  Set pp_app = CreateObject("PowerPoint.Application")
が実行された時点で、パソコンの画面上にPowerPointが表示されていないにも関わらず、オブジェクト変数pp_appにPowerPoint.Applicationへの参照情報が代入される様子をローカルウィドウで確認でき、つづく
  pp_app.Visible = msoTrue
が実行されると、プレゼンテーションを開いていないPowerPointが表示され、更に
  pp_app.Presentations.Open "C:\temp\sample.pptx"
でCドライブtempフォルダーのsample.pptxが開かれる様子は、興味深く感じられるはずです。

最終更新日時:2020-03-04 14:14

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » CreateObject("PowerPoint.Application")の戻り値をローカルウィンドウで確認しましょう

「Office連携」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.