Withステートメント
「Withステートメントはどう?
ちょっとクセがあるけど、ちゃんと理解できた?」
Withステートメントは、VBAの命令をまとめる働きをします。私たちが使う会話でも、同じ主語が何度も登場するときは主語を省略します。
<中略>
Withステートメントも同じように、何度も登場する主語(オブジェクト)を最初に明言して、続く情報(プロパティやメソッド)は、すべて明示した主語(オブジェクト)に関するものとします。
<中略>
Withステートメントは「With ○○」で始まり「End With」で終わります。「With」から「End With」までの間で、主語(オブジェクト)を省略していることを表すには、命令の先頭を「.(ピリオド)」で書き始めます。
< ベーシック公式テキスト P120 >
「はい。テキストに書いてある"主語を省略する"という解説が、すごくわかりやすかったっス。
これって、"If"や"For…Next"同様、ブロック構造のステートメントなんですよね?」
「そうよ。オブジェクトの記述が省略できるのは、
"With"から"End With"までにある、"."から始まる命令に限られるわ」
「"."は、行頭以外でも使えるんですよね?」
「使えるわよ。
例えば、".Value = .Value + 1"のように、1行の中で複数回使うこともできるわよ」
森川くんは、フンフンとうなずきます。
「IfやFor…Next、Withは、マクロを制御する大切な命令……
言うなればマクロの要になるステートメントよ。
しっかりと理解して、使いこなせるようになってね」
岬さんのレクチャーを、森川くんは真剣な表情で聞き入っています。