メソッドとは

メソッドとは、オブジェクトに対して行う処理のことです。

たとえば「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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次