メソッドとは、オブジェクトに対して行う処理のことです。
たとえば「RangeオブジェクトのClearメソッド」はセル範囲をクリアしますし、「RangeオブジェクトのPrintOutメソッド」はセル範囲を印刷します。関数と同じようなものと考えることもできますが、必ず戻り値を持つというわけではありません。
メソッドもプロパティと同様にオブジェクトに続けて、間に「.」(ピリオド)をつけて記述します。
オブジェクト.メソッド
↑(間にピリオドを入れる)
メソッドも関数と同じように、必要に応じて引数を設定します。たとえば、「SpeechオブジェクトのSpeekメソッド」は引数で指定した文字列を読み上げます。SpeechオブジェクトはApplicationオブジェクトより下にあるため、「Application.Speech.Speak “読み上げる文章”」の形式で記述します。この場合はApplicationオブジェクトの記述を省略できないので注意してください。
環境によって異なりますが、多くの場合「こんにちは」のような日本語も再生してくれます。
Application.Speech.Speak “こんにちは”
↑オブジェクト ↑メソッド ↑メソッドの引数
メソッドの引数を指定する方法
メソッドの引数を指定する場合、次の2通りの方法があります。
(1)カンマで区切って順番に指定する方法
必要な引数を「,」(カンマ)で区切って順番に指定する方法です。次の例では、最初の引数に「”please enter”」を指定し、2番目の引数に「True」を鵜指定しています。
Application.Speech.Speak “Please enter”, True
記述は簡潔になりますが、引数の順番を守る必要があります。
(2)名前付きで引数で指定する方法
メソッドの引数にはすべて名前があります。その名前を使って「引数の名前:=設定する値」の形式で指定します。Speakメソッドの引数の名前は第1引数が「Text」で、第2引数が「SpeakAsync」です。このため上のプログラムは、次のように記述することもできます。
Application.Speech.Speak Text:=”please enter”, SpeakAsync:=True
記述は複雑になりますが、引数の名前からその意味も理解しやすくなります。
(1)(2)の違いは、引数が多くなるとはっきりしてきます。なお、このサンプルでは使用していませんが、上記の「SpeechオブジェクトのSpeakメソッド」には、3番目と4番目の引数もあります。
第3引数「SpeakXML」:第一引数をXMLとして解釈するか否か(TrueまたはFalse)
第4引数「Purge」:現在の読み上げ終了とバッファーのテキスト削除をするか否か(TrueまたはFalse)
もし引数Textを「Please Enter」、第2、第4引数をTrueに、第3引数をFalseにする場合、それぞれ次のような記述になります。
(1)の方法の場合
Application.Speech.Speak “Please Enter”, True, False, True
(2)の方法の場合
Application.Speech.Speak Text:=”Plase Enter”, SpeakAsync:=True, SpeakXML:=False, Purge:=True
(1)の方が記述が簡潔ですが、引数の意味はすぐにはわかりません。また、引数SpeakAsyncとSpeakXMLを省略する場合、次のようになります。
(1)の方法の場合
Application.Speech.Speak “Please Enter”, , , True
(2)の方法の場合
Application.Speach.Speak Text:=”Please Enter”, Purge:=True
(1)の場合、引数の順番は変えられないので、途中の引数を省略する場合でも「,」(カンマ)は必須ですが、(2)では省略できますし引数の順番を変えることも可能です。さらに次のように混在して記述することもできます。第1引数は「Text」と決まっていますので、名前は省略しても問題ありません。
Application.Speech.Speak “Please Enter”, Purge:=True
関連知識
Clearメソッド
Clearメソッドは、セル範囲のデータを完全にクリアします。次の例ではセル範囲C4:E10をクリアします。
Range(“C4:E10”).Clear
ClearContentsメソッド
ClearContentsメソッドは、セル範囲の数式と文字だけを削除し、セル書式などはそのまま残ります。次は、セル範囲C4:E10の数式と文字だけを削除します。
Range(“C4:E10”).ClearContents
ClearFormatsメソッド
ClearContentsメソッドとは逆に、セル書式だけをクリアしたい場合はClearFormatsメソッドを使用します。
Range(“C4:E10”).ClearFormats
PrintOutメソッド
指定した範囲のデータを印刷したい場合はPrintOutメソッドを使用します。
Range(“C4:E10”).PrintOut
Activateメソッド
WorksheetオブジェクトのActivateメソッドは、ワークシートをアクティブにします。次の例では、「Sheet3」をアクティブにします。
Worksheets(“sheet3”).Activate
コメント