|
いちおう、モジュール内で特定の文字列を探すための Findメソッド は、あります。
しかし Excel2002以降 では、VBE内の操作をするようなコードが、セキュリティ
の制限に引っかからないか懸念が残ります。当方は Ver2000 なので、そのへんが
よく分からないのです。参考のためにヘルプの抜粋をUPしておきます。
---------------------------------------------------------------------
Find メソッド (VBA アドイン オブジェクト モデル)
アクティブ モジュール内で指定した文字列を検索します。
構文
object.Find(target, startline, startcol, endline, endcol [, wholeword]
[, matchcase] [, patternsearch]) As Boolean
Find メソッドの構文は、次の指定項目から構成されます。
指定項目 内容
object 必ず指定します。オブジェクトへの参照を表すオブジェクト式を指定します。
target 必ず指定します。
検索する文字列またはパターンを表す文字列型 (String) の値を指定します。
startline 必ず指定します。検索を開始する行を表す長整数型 (Long) の値を
指定します。検索で文字列が見つかった場合は、その行が設定されます。
最初の行番号は 1 になります。
startcol 必ず指定します。検索を開始する桁を表す長整数型 (Long) を指定します。
検索で文字列が見つかった場合は、その桁が設定されます。最初の桁番号は 1 に
なります。
endline 必ず指定します。検索する範囲の最終行を表す長整数型 (Long) の値を
指定します。-1 で最終行を指定できます。
endcol 必ず指定します。検索する範囲の最終桁を表す長整数型 (Long) を
指定します。-1 で最終桁を指定できます。
wholeword 省略可能です。完全に一致する単語だけを検索するかどうかを示す
ブール型 (Boolean) の値を指定します。True を設定すると、完全に一致する単語
だけが検索されます。既定値は False です。
matchcase 省略可能です。大文字および小文字を一致させるかどうかを示す
ブール型 (Boolean) の値を指定します。True を設定すると、大文字および小文字を
区別して検索が行われます。既定値は False です。
patternsearch 省略可能です。検索対象の文字列がパターン マッチングの形式
であるかどうかを示すブール型 (Boolean) の値を指定します。
True を設定すると、検索対象の文字列はパターン マッチングの形式であると
みなされます。既定値は False です。
Find メソッドの使用例
次の例は、Find メソッドを使用して、特定のコード ペインの指定された
行ブロックの 1261 行目から 1279 行目に文字列 "Tabs.Clear" が含まれているか
どうかを確認します。
Application.VBE.CodePanes(2).CodeModule _
.Find ("Tabs.Clear", 1261, 1, 1280, 1, False, False)
解説
検索で見つかった場合は真 (True) が返され、見つからなかった場合は偽 (False) が
返されます。
引数 matchcase と引数 patternmatch は相互に排他的です。両方の引数に True を
指定するとエラーになります。
[検索] ダイアログ ボックスの内容は、Find メソッドの影響を受けません。
検索対象となる指定範囲は、行の指定と桁の指定の両方で制限されます。
最終行の末尾まで検索を行うには、その行の最終桁または行の長さが endcol として
指定されていなければなりません。
|
|