【问题标题】:Python win32com opening Excel with Bloomberg pluginPython win32com 使用 Bloomberg 插件打开 Excel
【发布时间】:2023-05-11 20:11:01
【问题描述】:

我正在尝试自动构建 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 不会捕获运行时错误。

【问题讨论】:

    标签: python excel win32com bloomberg


    【解决方案1】:

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

    【讨论】: