変数の省略
例えば、こんなサブプロシージャがあったとする。
Sub test_1() Dim myReg As RegExp Set myReg = New RegExp myReg.Pattern = "[\w]+" Debug.Print .test("aaa") Debug.Print .test("あああ") End Sub
変数を宣言し、初期化し、その後の処理を行う。よくあるパターンだ。
ところで先程試してみたところ、理屈は良く判らないが、この書き方でも
良いらしい。
Sub test_2() With New RegExp .Pattern = "[\w]+" Debug.Print .test("aaa") Debug.Print .test("あああ") End With End Sub
この書き方だと、今回行数は同じだが、変数(myReg)が不要となっている。
結果も、ちゃんと出てくれた。
どんな場面で有効なのか、まだ思いつかないが、折角なので覚えておくとしよう。
参考まで。