2009-05-25 17 views
0

c:\ windows \ system32 \ vbscript.dll \ 3のパスをツール経由でms-accessに追加すると、VBscript正規表現5.5への参照が表示されます。 >参考文献。しかし、ディレクトリツリーには、 "\ 3"という末尾のない完全なパスしか表示されません。dllパスでバックスラッシュが終了したms-accessインポートdll

「\ 3」は何を意味していますか(バージョン番号?)、正しい名前は何ですか? この参照をアクセスプロジェクトに正しく追加するにはどうすればよいですか?ありがとう。

答えて

0

いっそのこと、それへの参照を追加しないでください。代わりに、遅延バインディングを使用します。これはあなたの代わりに正規表現ライブラリのデータタイプのプレーン・バニラオブジェクト変数を使用します意味:

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) 

とボブのあなたの叔父を!

+0

v。elegant。ニース。私は、何度も何度もアクセスして頭痛の少ないアクセスのための最善のアプローチとして、晩年の拘束を信じるよう助言しました。タ! – bizl

1

bizl、

\ 3は赤いニシンです。

Accessプロジェクトへの参照を追加するには、コードウィンドウを開き、[ツール]メニューの[参照設定]を選択し、下に示すエントリまでスクロールして確認します。

DLLがSystem32ディレクトリに存在していても、場所に\ 3と表示されていることに注意してください。これは、Microsoftのバージョンのやり方と関係があります。

alt text http://www.windowsdevcenter.com/windows/2004/11/09/graphics/wrdh_0903.gif

+0

私はMS-Access 97とMicrosoft VBScript Regular Expressions 5.5を使用しています。参照の私のデフォルトのリストにあるようではない – bizl

+0

私はDLLが不足していますか? – bizl

+0

vbscript.dllはc:\ windows \ system32になければなりません。 –

関連する問題