2012-11-06 60 views
0

我目前使用下面的代碼來打開工作簿和搜索特定的字符串:VBA打開工作簿忽略「缺少庫」錯誤?

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內容放置到可搜索的位置,但問題似乎是打開工作簿。

+0

你得到的具體錯誤是什麼?你有沒有額外的「參考」,你已經添加,不會堅持這個Excel實例? –

+0

它缺少我的機器沒有的庫引用。 – mezamorphic

+0

要忽略錯誤,您可以在有問題的過程中放置​​「On Error GoTo 0」來忽略錯誤。 [源](http://msdn.microsoft.com/en-us/library/aa266173(v = vs.60).aspx) –

回答

0

您需要添加Microsoft Visual Basic for Applications Extensibility引用才能運行您的代碼。

工具>參考>然後檢查它,然後單擊確定。

+0

我有這個?我說我作爲我的程序的一部分打開的工作簿需要特定的插件,我的機器沒有。因此我需要打開文件忽略這些錯誤(我猜測這是不可能的)。 – mezamorphic