2017-02-23 10 views
1

私は、Bloombergの終わりのデータをPythonでさまざまなものに使用するために、複数のexcleシートを用意しています。私の質問は次のとおりです:スプレッドシートのBLOOMBERGデータをリフレッシュするためのPythonスクリプト

ブルームバーグデータをリフレッシュするためにシートに伝える方法はありますか?

伝統的なリフレッシュはすべて機能しません.F9を押すと、リフレッシュされません。私がそれを行う方法を知っている唯一の方法は、ブルームバーグタブの下のリフレッシュアイコン(2つの矢印)をクリックすることです。私はそれを自動化したいと思う。

これは私が今持っているものである:一般エクセルCALC式を再計算するために動作しますが、ブルームバーグ(= BHDタイプ)式をリフレッシュしません

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() 

何か提案がありました。

答えて

0

は、2つのオプションがあります。 簡単な解決策シートでマクロを作成 をブルームバーグをチェックする価値があるかもしれない、あなたのセットアップに応じて

サブrefresh_bbg()

」(ファイルXLSMではなく、のxlsxを行う必要があります) apiはここにインストールされ、インストールされていない場合はインストールされます。

Application.Run( "bloombergui.xla!RefreshEntireWorkbook")

エンドサブ

その後のpythonで

global_sprdsheet.Application.Run( "global.xlsm!refresh_bbg")

しかし私の意見では、より良い解決策は、tiaやpdblpを使って、pythonでbbgデータコレクションを行うことです。そして、ファイルにデータを書き込んでください。私の経験では、これはより信頼できます。

+0

ありがとう.______ –

関連する問題