VBAの基礎用語
記事の順番がバラバラですが、VBAの基本文法でも少し触れているのですが、プロパティやメソッド、ステートメントやプロシージャといった用語が出てきています。この用語の意味を簡単にですが、解説していけたらと思います。
まず、ここでは6種類の用語を説明したいと思います。
1.プロシージャ(Sub~End SubやFunction~End Function等)
2.オブジェクト(セルやワークシート、ワークブック等)
3.ステートメント(If~End IfやFor~Next等)
4.プロパティ(ValueやName等)
5.メソッド(SelectやMove等)
6.関数(MidやTrim等)
この6種類の用語を覚えると、コーディングする際に「何が足りてないか」や「何をしたいか」等を調べる際にも役に立ちます。
ではこの用語を1つずつ説明していきたいと思います。
プロシージャ
プロシージャとは主に1つのコードの集合体です。つまりマクロ本体のことです。
Sub a()
Dim s As Integer
b s
MsgBox "終了"
End Sub
Sub b(s As Integer)
s = 1
MsgBox s
End Sub
上記を実行すると最初に「1」と表示されて次に「終了」と表示されると思います。そこはおいといて、これは2つのプロシージャを実行しています。
つまりSubの塊の数=プロシージャということです。
他にもFunctionもプロシージャに含まれます。
オブジェクト
オブジェクトとは操作対象になる物の事です。例えばExcelのシートやブック、セルもオブジェクトですし、IEの自動操作する時のIE本体やサイトのボタンなどもオブジェクトに含まれます。
Sub a()
Worksheets("sample").Select
Range("A1").Select
End Sub
このWorksheetsやRange等がオブジェクトになります。VBAの基本文法の記事で詳しく説明しているのですが、VBAの基本的な文法としては「オブジェクト.プロパティorメソッド」となっており、このオブジェクトが操作対象、プロパティorメソッドが操作方法というようになっています。
ステートメント
ステートメントとはマクロの処理方法です。例えばIf~Else~EndIfやFor~Nextの様に繰り返しや条件などを指定し、マクロを実行する際の動きになります。
Sub a()
For s = 1 To 10
Cells(s, 1).Value = s
Next
End Sub
このFor~Nextの部分がステートメントです。Forでは繰り返しを、Ifでは条件分岐を、とマクロがどういう処理を行うかを決める部分がステートメントと呼ばれます。
プロパティ
プロパティとは操作対象に対する情報の部分に当たります。例えばValueでは操作対象(オブジェクト)の値を指定、もしくは取得します。
Sub a()
Range("A1").Value = "ここだよ!"
MsgBox ActiveSheet.Name
End Sub
このValueとNameがプロパティです。Range("A1").Value = "ここだよ!"
上記のコードは「A1のセルの値を「ここだよ!」にしてください」という意味になります。
MsgBox ActiveSheet.Name
上記のコードは「メッセージボックスに今選んでいるシートの名前を出してください」という意味になります。
このように値や名前などの情報がプロパティになります。
メソッド
メソッドはプロパティに似ているのですが、操作対象に対する動きの部分に当たります。例えばSelectでは操作対象(オブジェクト)を選択します。
Sub a()
Worksheets("Sheet1").Select
Range("A1").Select
End Sub
上記のコードのようにシートやセルというオブジェクトに対する選択という動きがメソッドになります。他にもわかりやすいもので言うとMoveは英語の意味そのままに動きなのでメソッドになります。
関数
関数とはプロパティなどの情報を処理し、形を変える操作の部分に当たります。例えばTrimではValueやInnerTextなどで取得した値の前後にあるスペースを削除する操作をします。
Sub a()
Range("A1").Value = " 空白があるよ? "
MsgBox Trim(Range("A1").Value)
End Sub
このMsgBox Trim(Range("A1").Value)では「 空白があるよ? 」ではなく「空白があるよ?」がメッセージボックスでは出力されます。A1のセルの文字の前後のスペースをTrimでは削除してくれますのでスペースが入っていない状態の文字が出力されるのです。
この様に情報に対する処理をし、形を変えた状態で出力する操作をしているのが関数です。
この変更前の情報を引数(ひきすう)といい、形が変わった状態を戻り値(もどりち)と言います。
最後に
最後に上記をまとめるとプロシージャ・・・コードの集合体
ステートメント・・・処理方法
プロパティ・・・情報
メソッド・・・動き
関数・・・操作
ということになります。
この事を覚えてVBAの基本文法を見ると意味がわかりやすくなると思います。