Access 데이터베이스 파일에서 코드 모듈을 검색하고 싶다면 VBE 개체 모델을 사용할 수 있습니다. 이 샘플에서는 현재 데이터베이스의 ActiveVBProject
에있는 모든 모듈에서 단어를 검색합니다. 데이터베이스가 하나 이상의 VBProject에 포함되어있는 경우, 당신은 VBProjects 수집을 열거하고 이름을 한 번에 프로젝트 하나를 검색 할 수 있습니다
For Each objComponent In Application.VBE.VBProjects(ProjName).VBComponents
을 아니면 오히려 이름이 아닌 번호로 프로젝트를 참조하는 것을 선호하는 경우, 단지 번호 매기기 1 오히려
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
0보다 검토하는 것이 Find
방법에 대한 액세스 도움말 항목과 시작 인식; 내가 사용한 것보다 다른 옵션을 선호 할 수도 있습니다.
여러 개의 db 파일을 대상으로하고 각 모듈을 검색하려면 OpenDatabase
메서드를 사용하여 자동화 할 수 있습니다. 나는 그 부분의 세부 사항을 너에게 맡길거야.
: http://www.cpearson.com/Excel/vbe.aspx –
이 CodeProject의 프로젝트를 통해 봐 아이디어 - http://www.codeproject.com/Articles/18029/SourceTools-xla. 프로젝트 저장 기능과 vba 프로젝트의 모든 소스 파일을 구문 분석하는 방법을 살펴보십시오. – ja72
@ ja72 그 add-inn이 Access에서 작동한다면, 아니면 내가 수정할 수 있다면 수정할 수 있다면 우리는 만날 경우 두 배의 hi-five를 줄 것입니다. –