ExcelのVBA入門エクセルVBAのメソッドについてエクセルVBAのメソッドについて解説しています。前回はオブジェクトのプロパティについて解説しました。プロパティの取得や設定について理解できたかと思います。今回は「メソッド」について解説していきます。値を返すメソッドオブジェクトを返すメソッドメソッドの見分け方まとめスポンサーリンクメソッドとはメソッドとはオブジェクトを操作する命令文のことでオブジェクトの動作になります。ExcelのA1セルというオブジェクトに「VBA」の文字列が入力されていたとします。このA1セルに対して削除・コピー・貼り付けなどを行うことができます。そのような「削除」「コピー」「貼り付け」がメソッドにあたります。メソッドの使い方メソッドを利用するには決まった書式に則って記述します。メソッドの使い方は、プロパティと同じでオブジェクト名とメソッド名の間に「.(ピリオド)」で結んで記述します。オブジェクト名.メソッド名メソッドを設定する前回のおさらいも兼ねて以下のような事例でメソッドを設定してみます。RangeオブジェクトのSelectメソッドは、指定されたセルを選択するものです。こちらではA1セルを選択しています。Subもう1つ事例を挙げるとまずExcelのA1セルに「VBA」の文字列を入力します。このA1セルの値をクリアにするために、ClearContentsメソッドを利用して以下のように記述します。ClearContentsメソッドは選択範囲から数式と文字を削除するものですので、これを実行するとA1セルの値が削除されます。Subメソッドの引数メソッドの中には、引数を設定できるものがあります。引数とは、メソッドを実行するために利用される情報です。引数を利用することでメソッドの動作を細かく制御できます。メソッドには引数を必要としないもの、引数の指定が必須のもの、引数が任意のオプションとなっているものがあります。先ほど挙げた2つの事例は引数を必要としないメソッドでしたが、こちらの条件はメソッドによって異なるのでその都度メソッドの内容を確認するようにしましょう。引数の指定には、「,(カンマ)」で区切る方法と名前付き引数を使用する方法の2種類があります。「,(カンマ)」で区切る方法について解説します。「,(カンマ)」で区切る方法メソッドに引数を設定する場合は、メソッド名の後に半角スペースを記述し、利用するメソッドで設定されている引数の設定値を記述します。複数引数がある場合は引数の設定値間に「,(カンマ)」を記述します。引数2の設定値・・・こちらはWorkbookオブジェクトのCloseメソッドの事例です。WorkbookオブジェクトのCloseメソッドはブックを閉じるメソッドになります。こちらには、3つの引数が用意されており、今回は2つの引数に設定値を設定しています。1つ目の引数は閉じる際に保存するかどうかをブール型(Boolean)の値で指定します。こちらは「True」を設定していますので、ワークブックの変更を保存します。2つ目の引数は保存するファイル名を文字列で指定します。ちなみにこちらの引数はすべて省略可能です。こちらを実行処理すると「VBAのIE制御.xls」ファイルが保存されます。このように引数を設定することで様々な制御を行うことが可能となります。今回のCloseメソッドの引数は省略可能の引数がオプションとなっているメソッドになります。Sub今回利用したWorkbookオブジェクトのCloseメソッドの引数はすべて省略可能と説明しました。省略可能な引数は設定値も省略することが可能です。設定値を省略する場合は「,(カンマ)」のみ記述します。以下は1つ目の引数の設定値を省略した形になります。名前付き引数とは、名前が定義されている引数のことです。先ほど利用したCloseメソッドは以下のように引数が設定されています。「SaveChanges」「Filename」「RouteWorkbook」が名前付き引数となります。RouteWorkbook)名前付き引数を利用する場合は、引数名に「:=(コロンとイコール)」を記述し、その後に引数の設定値を記述します。こちらも複数の引数を設置する場合は、「,(カンマ)」で区切ります。引数名2:=設定値・・・こちらは上記の事例と同じ処理になります。引数名に「:=(コロンとイコール)」を付けた形で記述しています。名前付き引数で記述した場合でも同じ結果になります。Sub名前付き引数で記述した場合の特徴は引数を記述する順番を気にする必要がないということです。以下のように引数の順番を変えても同じように処理します。Subメソッドの戻り値メソッドの中には、実行後に実行結果の値を返す「戻り値」を取得できるものがあります。メソッドの戻り値は「=(イコール)」の代入演算子を利用して変数やプロパティに代入することも可能です。値を返すメソッドこちらは、値を返すメソッドの事例です。ApplicationオブジェクトのGetPhoneticメソッドは指定した文字列の日本語のふりがなを返すメソッドです。こちらでは「操作」の文字列を引数の設定値に設定しており、戻り値が「ソウサ」の文字列の値を返しています。Subオブジェクトを返すメソッド戻り値は、値を返すだけでなくオブジェクトを返すメソッドもあります。以下は新しいウィンドウを開くNewWindowメソッドを利用した事例ですが、新しいウィンドウを開いたらそのままそのウィンドウを操作することが多々あります。NewWindowメソッドは作成したウィンドウオブジェクトを戻り値として返しますので、そちらをオブジェクト変数とういものに格納して処理しています。細かい内容については割愛しますが、オブジェクトを返すメソッドもあることを覚えておきましょう。Subメソッドの見分け方ここまで当たり前のようにメソッドを解説してきましたが、そもそもどれがメソッドなのか判断が付かないことが多いかと思います。「Value」はプロパティですが、「Select」はメソッドです。メソッドを見分けるコツはオブジェクト名とプロパティ値の間に「を」を入れて判断できます。以下の例を見てみましょう。Selectメソッドは「選択」という意味ですので、「A1セルを選択する」ということになります。このように意味が通じるものはメソッドと判断するのが一般的です。Sub次にプロパティはどのように見分けるかというとオブジェクト名とプロパティ値の間に「の」を入れて判断できます。こちらも以下の例を見てみましょう。Valueプロパティは値そのものですので、「A1セルの値」ということになります。こちらも同様に意味が通じるものはプロパティと判断します。Subまとめ今回はオブジェクトのメソッドについて解説しました。メソッドには値を返す「戻り値」というものやオブジェクトそのものを返すものもあります。こちらではメソッドの基本的な部分について理解しましょう。次回はオブジェクトに対し処理や操作を行う「イベント」について解説します。寛IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^RSSフィードを登録すると最新記事を受け取ることができます。印刷設定エラー処理エクセルVBAのステートメントこちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。リンクエクセルVBAのオブジェクトこちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。リンクエクセルVBAのプロパティこちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。エクセルVBAのメソッドこちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。エクセルVBAのイベントこちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。Applications)を利用したIE(InternetExplorer)の制御についてまとめています。ExcelのVBAでIE(InternetExplorer)を操作することで自動ログインや自動データ入手などができますので、非常に便利なプログラムです。