Python win32com 使用 Bloomberg 插件打开 Excel
我正在尝试自动构建 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 不会捕获运行时错误。
I'm trying to automate construction of an Excel 2007 spreadsheet that uses the Bloomberg plugin to pull down live prices. The problem is that when I open Excel through win32com the Bloomberg plugin does not load (so all of the formulas end up with "#NAME?" errors).
Manually uninstalling and reinstalling the plugin works, but copying the VBA code from the recorded macro leads to a "Run-time error '13': Type mismatch" error. I can click the End button and everything runs fine, but I want to have this fully automated.
My code is:
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
Setting DisplayAlerts = False doesn't catch the runtime error.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须使用类似以下内容打开bloomberg.xla文件:
请参阅此处了解更多信息:
http://msdn.microsoft.com/en -us/library/microsoft.office.interop.excel.addin.aspx
you have to open the bloomberg.xla file with something like:
see here for more info:
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.addin.aspx