我有一大堆摘要表,用来拉入彭博社当天的数据,我用这些数据在Python中做各种事情。我的问题如下:
有没有办法让to sheet刷新彭博数据?
传统的全部刷新都不起作用,就像在excel中点击f9不会刷新它们一样。我知道怎么做的唯一方法是单击bloomberg选项卡下的刷新图标,即两个箭头。我很乐意让它自动化。
这就是我现在所拥有的:
import win32com.client
import time
def refr_sheet():
app_global = win32com.client.Dispatch("Excel.Application")
global_sprdsheet = app_global.Workbooks.open('C:\\Users\\Ako\\Desktop\\ako_files\\work_sheets\\global.xlsx')
global_sprdsheet.RefreshAll()
time.sleep(12)
global_sprdsheet.Save()
global_sprdsheet.Close()
app_global.Quit()
它用于重新计算一般的excel计算公式,但不会刷新bloomberg (=BHD类型)公式。
欢迎任何建议!
发布于 2017-03-23 14:27:10
有两个选项:简单解决方案在工作表中创建宏(将需要生成文件xlsm而不是xlsx)
子refresh_bbg()
根据你的设置,这里是否安装了Bloomberg api,如果没有安装,可能值得检查一下。
Application.Run ("bloombergui.xla!RefreshEntireWorkbook")
结束sub
然后在python中
global_sprdsheet.Application.Run("global.xlsm!refresh_bbg")
但在我看来,更好的解决方案是使用python通过tia或pdblp进行bbg数据收集。然后将数据写入文件。根据我的经验,这更可靠。
https://stackoverflow.com/questions/42423135
复制相似问题