いっそのこと、それへの参照を追加しないでください。代わりに、遅延バインディングを使用します。これはあなたの代わりに正規表現ライブラリのデータタイプのプレーン・バニラオブジェクト変数を使用します意味:
Dim objRegEx As Object
Set objRegEx = CreateObject("VBScript.Regexp")
したがって、あなたは、特定のコンピュータにインストールされているライブラリのバージョンを心配する必要はありません。このようにパブリック関数を作成し、速度差はそれに一度のコールのためにかなりごくわずかですが、定期的にそれを使用するつもりなら:
Public Function RegEx() As Object
Static objRegEx As Object
If objRegEx Is Nothing Then
Set objRegEx = CreateObject("VBScript.Regexp")
End If
Set RegEx = objRegEx
End Function
その後、あなたはまったく何もする必要はありません - そのトップレベルのオブジェクトを指す変数を使用するのと同じ方法でRegExpを使用してください。これは、初めて使用するときに自動的に初期化され、アプリケーションを閉じるまで保持されます。
あなたが閉鎖する前にクリーンアップを懸念している場合は、あなたがこれを行うことができます:
Public Function RegEx(Optional bolClose As Boolean = False) As Object
Static objRegEx As Object
If bolClose Then
Set objRegEx = Nothing
Exit Function
End If
If objRegEx Is Nothing Then
Set objRegEx = CreateObject("VBScript.Regexp")
End If
Set RegEx = objRegEx
End Function
、アプリのシャットダウン時にルーチンので、それを呼び出す:
Call RegEx(True)
とボブのあなたの叔父を!
v。elegant。ニース。私は、何度も何度もアクセスして頭痛の少ないアクセスのための最善のアプローチとして、晩年の拘束を信じるよう助言しました。タ! – bizl