Accessデータベースファイルのコードモジュールを検索する場合は、VBEオブジェクトモデルを使用できます。このサンプルは、現在のデータベースのActiveVBProject
のすべてのモジュールの単語を検索します。データベースが1 VBProject以上が含まれている場合は、VBProjectsコレクションを列挙し、名前で一度にプロジェクト1を検索することができます。
For Each objComponent In Application.VBE.VBProjects(ProjName).VBComponents
それとも、ただ、番号ではなく名前でプロジェクトを参照することを好む場合番号は1ではなく0
Public Sub findWordInModules(ByVal pSearchWord As String)
'Dim objComponent As VBComponent
' VBComponent requires reference to Microsoft Visual Basic
' for Applications Extensibility; use late binding instead:
Dim objComponent As Object
Dim strMessage As String
Dim strModuleList As String
strModuleList = vbNullString
For Each objComponent In Application.VBE.ActiveVBProject.VBComponents
If objComponent.CodeModule.Find(pSearchWord, 1, 1, -1, -1) = True Then
strModuleList = strModuleList & "; " & objComponent.Name
End If
Next objComponent
strMessage = "Text '" & pSearchWord & "' found in "
If Len(strModuleList) > 0 Then
strMessage = strMessage & "modules: " & Mid(strModuleList, 3)
Else
strMessage = strMessage & "no modules"
End If
Debug.Print strMessage
End Sub
レビューそのFind
メソッドのアクセスヘルプトピックで始まる注意してください。あなたは私が使用したものとは異なるオプションを好むかもしれません。
複数のdbファイルを対象にして、それぞれのモジュールを検索する場合は、OpenDatabase
メソッドを使用してこれを自動化できます。私はその部分の詳細をあなたに任せます。
ない考え、それはアセスでは同じだが、ここで私はExcelでそれを行うだろうかだ場合:http://www.cpearson.com/Excel/vbe.aspx –
ため、このCodeProjectのプロジェクトを通じて見てアイデア - http://www.codeproject.com/Articles/18029/SourceTools-xla。プロジェクトの保存機能と、vbaプロジェクトのすべてのソースファイルをどのように解析するかを調べます。 – ja72
@ ja72もしそのアドインがAccessのために働くなら、それを修正することができれば、もし私が会うなら、私はあなたに二重の五を与えるでしょう。 –