Vba 如何避免;编译错误:Can';“找不到对象或库”;

Vba 如何避免;编译错误:Can';“找不到对象或库”;,vba,excel,Vba,Excel,我有一个脚本,它运行在数千个工作簿的列表中,并从每个工作簿中提取数据 当脚本尝试打开某些工作簿时,我遇到以下错误: Compile Error: Can't find project or library 我想我可以通过在没有宏或警报的情况下打开工作簿来避免此消息,我知道这是由于引用问题造成的: dim bk as workbook for each path in listOfWorkbookPaths Application.DisplayAlerts = False Applicat

我有一个脚本,它运行在数千个工作簿的列表中,并从每个工作簿中提取数据

当脚本尝试打开某些工作簿时,我遇到以下错误:

Compile Error: Can't find project or library
我想我可以通过在没有宏或警报的情况下打开工作簿来避免此消息,我知道这是由于引用问题造成的:

dim bk as workbook
for each path in listOfWorkbookPaths
 Application.DisplayAlerts = False
 Application.EnableEvents=false
 set bk=workbooks.open(path)
 Application.EnableEvents=true
 Application.DisplayAlerts = True
 collectData(bk)
next

但这不起作用;我仍然得到编译错误。有没有办法确保不会弹出此错误?

您需要更改
自动安全设置:

Sub ImportFromExternalWorkbooks() Dim bk as Workbook Dim secAutomation As MsoAutomationSecurity secAutomation = Application.AutomationSecurity Application.AutomationSecurity = msoAutomationSecurityForceDisable For Each path in listOfWorkbookPaths Set bk=Workbooks.Open(path) collectData bk Next Application.AutomationSecurity = secAutomation End Sub 子进口RomexternalWorkBooks() Dim bk作为工作簿 Dim secAutomation作为MsoAutomationSecurity secAutomation=Application.AutomationSecurity Application.AutomationSecurity=msoAutomationSecurityForceDisable 对于ListofWorkBookPath中的每个路径 设置bk=工作簿。打开(路径) 收集数据 下一个 Application.AutomationSecurity=secAutomation 端接头
可以使用
自动安全性
尝试这种方法:当您手动打开某些工作簿时会发生什么?您看到错误了吗?我认为错误在于收集数据。无论如何,您可以通过打开VBEditor-->工具-->引用来检查“缺少”的引用来解决此问题