2

我有一个脚本,它遍历数千个工作簿的列表并从每个工作簿中获取数据。

当脚本尝试打开某些工作簿时出现以下错误:

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

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

4

1 回答 1

1

您需要更改AutomationSecurity设置:

子 ImportFromExternalWorkbooks()
    将 bk 调暗为工作簿
    Dim secAutomation 作为 MsoAutomationSecurity

    secAutomation = Application.AutomationSecurity
    Application.AutomationSecurity = msoAutomationSecurityForceDisable
    对于 listOfWorkbookPaths 中的每个路径
        设置 bk=Workbooks.Open(路径)
        收集数据 bk
    下一个
    Application.AutomationSecurity = secAutomation
结束子
于 2013-01-16T07:28:52.233 回答