8

我正在尝试自动构建 Excel 2007 电子表格,该电子表格使用 Bloomberg 插件来拉低实时价格。问题是当我通过 win32com 打开 Excel 时,Bloomberg 插件没有加载(所以所有公式都以“#NAME?”错误结束)。

手动卸载并重新安装插件有效,但从录制的宏中复制 VBA 代码会导致“运行时错误 '13':类型不匹配”错误。我可以单击“结束”按钮,一切运行正常,但我希望完全自动化。

我的代码是:

import win32com.client
xl = win32com.client.gencache.EnsureDispatch("Excel.Application")
xl.Visible = True
MainWorkBook = xl.Workbooks.Add(1)
xl.AddIns("Bloomberg Excel Tools").Installed = False
xl.AddIns("Bloomberg Excel Tools").Installed = True

设置 DisplayAlerts = False 不会捕获运行时错误。

4

1 回答 1

7

您必须使用以下内容打开bloomberg.xla 文件:

from win32com.client import DispatchEx
xl = DispatchEx('Excel.Application')
xl.Workbooks.Open('C:/blp/API/Office Tools/BloombergUI.xla')

请参阅此处了解更多信息:http: //msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.addin.aspx

于 2013-10-08T23:36:18.873 回答