Python使用win32com打开带Bloomberg插件的Excel
我正在尝试自动创建一个使用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 个回答
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