2012-11-06 45 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