みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
初心者向けにPowerPoint VBAの使い方を紹介するシリーズをお伝えしています。
前回の記事はコチラ。
さて、最初に目指すものとして、どのようなものが良いのか…考えた末、これにしました。
「プレゼンテーションのフォントを一括変更しよう!」
私、メイリオ大好きっ子なんです。あと、文字色はちょっとグレーが好きなんです。
Googleスライドとか、他のPowerPointとか、あちこちからスライドをコピペして集めてきて、フォントとその色を統一するの…結構たいへんですよね。
ということで、マクロを作っちゃいます。
スライドに配置する図形やテキストボックスなどの、フォントについて操作する…やってみればわかるのですが、オブジェクトを掘って、掘って、掘って…
掘りまくった末に、ようやくフォントを操作するFontオブジェクトを操作できるようになります。
というのは、PowerPoint VBAのオブジェクト構造を学ぶ良い練習題材になるんですね。
まず今回は、VBAをはじめる上で非常に重要なキーワードである「オブジェクト」とは何かについて、またプレゼンテーションをオブジェクトとして取得して操作をする方法をお伝えします。
では、行ってみましょう!
オブジェクトとは何か
PowerPoint VBAを使う場合、プレゼンテーションだったり、スライドだったり、スライドに配置されているオートシェイプやテキストボックだったり、といった操作する対象があり、それに対して、何らかの操作したいということになります。
その操作する対象を「オブジェクト」と言います。
ですから、オブジェクトにはいくつかの(というかたくさんの)種類があります。
本シリーズで取り扱うPowerPointのオブジェクトだけでも、以下のようなものを予定しています。
オブジェクト | 説明 |
---|---|
Application | PowerPointアプリケーション |
Presentation | プレゼンテーション |
Slide | スライド |
Shape | 描画オブジェクト |
TextFrame | テキスト枠 |
TextRange | テキスト範囲 |
Font | フォント設定 |
これ以外にも選択箇所を表すオブジェクト、ウィンドウを表すオブジェクト、マスターを表すオブジェクトなどたくさん用意されているんです。
それらオブジェクトを操作する方法は、大きく分けて二種類あります。
プロパティとメソッドです。
オブジェクトには、その種類に応じてたくさんのプロパティとメソッドが用意されていて、それを使って、オブジェクトを操作することができるのです。
プロパティでオブジェクトを操作する
プロパティとは
プロパティはオブジェクトの持っている値や状態を表します。
以下書式で取得することができます。
例えば、Presentationオブジェクトであれば、以下のようなプロパティが用意されていて、
プロパティ | 説明 |
---|---|
Name | プレゼンテーション名 |
Path | プレゼンテーションの保存されているパス |
Slides | プレゼンテーションに含まれるスライドの集合 |
プロパティに値を代入する
プロパティは書き換え可能なものに限り、以下ように「=」記号を使う書式により書き換えることができます。
「=」記号は代入演算子と言い、右辺の値を左辺で指し示すものに上書きする操作をします。その操作を代入と言います。
プロパティの使用例
例えば、任意のプレゼンテーションがアクティブな状態で、以下のプロシージャを作成して実行してみましょう。
Sub プレゼンテーションのプロパティ()
Debug.Print ActivePresentation.Name
Debug.Print ActivePresentation.Path
End Sub
あ、ちなみに全部丁寧に打たなくていいですからね。例えば「ActivePresentation」であれば「ac」と打った後に、 Ctrl + Space を押すと、以下のようにメンバー候補が表示されるはずです。
上下キーで選んで Tab キーで確定できます。
さて、このプロシージャを完成させて実行すると、私の環境では以下のように表示されました。
ActivePresentationは、現在アクティブになっているPresentationオブジェクトを表します。詳しくは別の記事で紹介します。
Nameプロパティは、プレゼンテーション名を取得するプロパティです。
また、Pathプロパティは、プレゼンテーションの保存されているフォルダパスを取得するプロパティです。
メソッドでオブジェクトを操作する
メソッドとは
メソッドはオブジェクトへの命令です。
以下書式でメソッドを実行することができます。
メソッド実行時に「引数」と呼ばれる値を渡したり、実行した結果として「戻り値」という値を受け取ったりすることができ、その際はちょっと書式が代わりますので、その際に説明します。
例えば、Presentationオブジェクトであれば、以下のようなメソッドが用意されています。
メソッド | 説明 |
---|---|
Close | プレゼンテーションを閉じる |
Save | プレゼンテーションを保存する |
メソッドの使用例
では、アクティブなプレゼンテーションを保存した状態で、以下のプロシージャを作成して実行してみましょう。
Sub プレゼンテーションのメソッド()
ActivePresentation.Close
End Sub
実行すると、アクティブなプレゼンテーションが閉じますね。
Closeメソッドは、プレゼンテーションを閉じるメソッドです。
これがメソッドってやつです。
まとめ
以上、PowerPoint VBAでとっても重要なオブジェクトとその操作をする方法についてお伝えしました。
- オブジェクトの値や状態を表すプロパティ
- オブジェクトに命令をするメソッド
この2つを使って、様々なオブジェクトを操作していくことができます。
さて、次回は今回サラっと流した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文によるループとその使い分けについて