Python win32com用Bloomberg插件打开Excel

时间:2010-06-04 21:13:58

标签: python excel win32com bloomberg

我正在尝试自动构建使用Bloomberg插件降低实时价格的Excel 2007电子表格。问题是,当我通过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不会捕获运行时错误。

1 个答案:

答案 0 :(得分:4)

你必须用以下内容打开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