現在、次のコードを使用してワークブックを開き、特定の文字列を検索しています。
Set workbook = Application.Workbooks.Open(Path)
Set VBProj = workbook.VBProject
Set oComp = VBProj.VBComponents("Module1")
Set CodeMod = oComp.CodeModule
FindWhat = ToFindStr
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:=EC, _
wholeword:=True, MatchCase:=False, patternsearch:=False)
Do Until Found = False
Print #fnum1, "found"
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:=EC, _
wholeword:=True, MatchCase:=False, patternsearch:=False)
Loop
End With
問題は、いくつかのスプレッドシートを開くと、コンパイラ エラー (ライブラリが見つからない) が発生するように見えることです。これを回避する方法はありますか?CodeMod コンテンツを検索可能な場所に取得する必要があるだけですが、問題はワークブックを開くことにあるようです。