我在Excel中有2个VBA宏。宏1从另一个Excel文件复制一些值。 Macro 2从Bloomberg请求一些值。宏1需要引用“Microsoft Excel 12.0对象库”,而宏2需要引用要添加的“彭博数据类型库”。
我希望即使在没有安装Bloomberg Excel API的计算机上,用户也可以运行Macro 1。但是,当我尝试运行Macro 1时,我会看到这一行:
Set XL = CreateObject("Excel.Application")
以下并收到以下错误:
"Cant Find Project or Library"
似乎因为找不到“彭博数据类型库”参考,它也没有加载“Microsoft Excel 12.0对象库”。
在安装了Bloomberg Excel API的计算机上,一切正常。
答案 0 :(得分:2)
如果您希望同一文件在两台计算机上都能运行,请先在VBA编辑器中删除对BBG的引用 - >工具 - >引用。然后在你的代码中执行类似的操作:
On Error Resume Next ' turn off errors
Set XL = CreateObject("Excel.Application")
Set BBG = CreateObject("BBGName")
If Not IsEmpty(BBG) Then
' Do work with BBG
End If
On Error GoTo 0 ' turn on errors
这将允许您仅在存在BBG库时使用BBG宏,如果不存在则不会抛出错误。