みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
初心者向けPowerPoint VBAのシリーズをお伝えしています。
前回の記事はコチラ。
PowePoint VBAを学ぶ上で重要な「オブジェクト」についてお伝えしました。
今回は、PowerPoint VBAでアクティブなプレゼンテーションを取得する方法を通じて、「オブジェクトを取得する」という作業について解説をしていきます。
では、行ってみましょう!
前回のおさらい
前回はPresentationオブジェクトを操作する方法として、2つのコードを紹介しました。
まず、プロパティをイミディエイトウィンドウに表示するこちらのコード。
Sub プレゼンテーションのプロパティ()
Debug.Print ActivePresentation.Name
Debug.Print ActivePresentation.Path
End Sub
そして、メソッドを実行するコードですね。
Sub プレゼンテーションのメソッド()
ActivePresentation.Close
End Sub
オブジェクトに対するプロパティやメソッドの使い方について
とか
とかお伝えしたのですが、そもそもコード内の「ActivePresentation」って、ナニモノなんでしょうか?
今回は、そのあたりについて解き明かしていきたいと思います。
オブジェクトブラウザーでオブジェクトとそのメンバーを確認する
そのヒントになるのがオブジェクトブラウザーです。
オブジェクトブラウザーは、VBAで使用できるオブジェクトとそのメンバー(メソッドやプロパティなどのこと)について、調べることができるツールです。
VBEのメニューから「表示」→「オブジェクトブラウザー」とたどってみてください。
もしくは F2 キーでもOKです。
すると、「オブジェクトブラウザー」の画面が開きますので、左上のプルダウンから「PowerPoint」を選び、「クラス」というエリアから「<グローバル>」を選択します。
すると、「ActivePresentation」という今回知りたい情報を見つけることができました。
まず左上のプルダウンは「ライブラリ」を選ぶプルダウンです。例えば、PowerPointで操作できるオブジェクトについては「PowerPointライブラリ」内にまとめられています。
「クラス」というエリアに、そのライブラリ内で使用できるオブジェクトなどが記載されています。Presentation、Slide、Shapeをはじめたくさん用意されているのがわかると思います。
そして「メンバー」というエリアに使用できる「メソッド」や「プロパティ」などが一覧されています。ここで、のアイコンは「プロパティ」、のアイコンは「メソッド」となります。
つまり、「ActivePresentation」は「ActivePresentationプロパティ」である、ということがわかりました。
グローバルとは
本来、プロパティを使うのでれば
という形式であるとお伝えしましたが、「ActivePresentation」がプロパティとすると、「オブジェクト」はどこに行ったのでしょうか?
これには「<グローバル>」というキーワードが関係しています。
ここに含まれているメンバーを使用する場合は、「オブジェクト.」を省略して、いきなり使用することができます。
本来であればActivePresentationプロパティは、Applicationオブジェクトのメンバーなので
とすべきところですが、「Application.」を省略して
と記述することができるのです。
ActivePresentationプロパティとは
それで、結局のところActivePresentationプロパティがナニモノかというと、アクティブなPresentationオブジェクトを取得するプロパティです。
「アクティブなPresentationオブジェクト」というのは、「現在の操作対象となっているPresentationオブジェクト」ということです。
なお、前述の通り、ActivePresentationプロパティはグローバルのプロパティなので、対象のオブジェクトを省略して使用することができますので、いつどんなときでも「ActivePresentation」と記述すれば、アクティブなPresentationオブジェクトを取得することができます。
オブジェクトを「取得する」とは
さっきから「取得する」と言ってますが、「取得する」とはどういうことでしょうか?
ActivePresentationプロパティは、アクティブなPresentationオブジェクトを取得するプロパティです。
つまり「ActivePresentation」といきなりプロパティを記述できますが、その部分は「アクティブなPresentationオブジェクト」を表します。
ほら、今までの説明だと
ActivePresentation.Name
これは、「プロパティ.プロパティ」になっちゃうわけなのですが、ActivePresentationプロパティがアクティブなPresentationオブジェクトを表してくれるおかげで「Presentationオブジェクト.プロパティ」となっているというわけです。
このように、プロパティでオブジェクトを取得するという式(これをオブジェクト式と言います)の書き方は頻繁に求められますので、覚えておいてくださいね。
まとめ
以上、今回はPowerPoint VBAでアクティブなプレゼンテーションを取得するActivePresentationプロパティについてお伝えしました。
また、それに加えて
- オブジェクトブラウザーとは何か
- グローバルなメンバーとは何か
- オブジェクトを取得するとは
といったことについてもお伝えしました。
説明ばっかりで飽きちゃったかも知れませんが、大丈夫です。
次回からガンガンオブジェクトを取得していきます。
どうぞお楽しみに!
連載目次:初心者向けPowerPoint VBAのはじめの一歩
PowerPointはお仕事で非常によく使うプレゼンテーション作成ソフトですよね。実は、PowerPointでもVBAでプログラミングができるんです。本シリーズでは、初心者向けにPowerPoint VBAの初め方についてお伝えしていきます。- 初心者向けPowerPoint VBAを始める際にはじめにやっておくべきセッティングと手順
- 【初心者向け】はじめてのPowerPoint VBAを作成して実行してみよう
- 【初心者向けPowerPoint VBA】オブジェクト・プロパティ・メソッドって何?
- PowerPoint VBAでアクティブなプレゼンテーションを取得する方法
- 【初心者向けPowerPoint VBA】SlidesコレクションとSlideオブジェクトを取得する
- PowerPoint VBAでShapeコレクションについてFor Eachループを回す方法
- 【初心者向けPowerPoint VBA】Shapeオブジェクトのテキストを取得する方法
- PowerPoint VBAでフォント設定をするFontオブジェクトを取得する
- PowerPoint VBAでシェイプのフォント設定をする色々なプロパティまとめ
- PowerPoint VBAのFor Each文とFor文によるループとその使い分けについて