4

市場データを取得するために Excel に統合された Reuters を使用しています。タスクの自動化のために、現在 VBA を使用していますが、Python に切り替えたいと考えています。原理はVBAと同じなのでパッケージpyxllはあまり役に立たない(エクセルの中にいてRUNボタンをクリックする必要がある...) そこでwin32comを使って外部からCOMオブジェクトでエクセルにアクセスしようと考えている。しかし、私がするとき:

from win32com.client import Dispatch 
xlApp = Dispatch("Excel.Application")

このコードは、Reuter アドインが含まれていない Excel の新しいインスタンスを開きます (したがって、Reuter 関数を使用してデータを取得することはできません)。Python から Excel-with-Reuter インスタンスにアクセスする方法がわかりません。サービスを調べるために を調べましたがCom Explorer、Excel 以外のサービスは見当たりませんでした

4

4 に答える 4

3

これを試して -

import os
from win32com.client import GetObject

os.startfile(r'C:\path\to\ReutersExcel.exe')
xlApp = GetObject(None, 'Excel.Application')
于 2013-04-23T04:52:53.723 に答える
1

Excel VBA を使用している場合、誤った結果が得られる可能性が非常に高くなります (問題を引き起こす可能性のある状態を処理するためのコードをさらに記述することも非常に困難です)。

私の経験から、フィードから直接データを消費して操作する必要があります。信頼性が高いだけでなく、保守も簡単です(間違いなく、これはPythonで行います)。

私は PyRFA を使用して P2PS からのデータを消費し、それを操作しています (この API は現在無料なので素晴らしいです! コンシューマーとプロバイダーの両方の機能を提供します)。この API の詳細は次のとおりです。

http://www.devcartel.com/pyrfa

あなたがする必要があるのは、サポートチームに連絡して詳細を確認し、ブームのコーディングを開始することです!

乾杯、マイケル

于 2013-09-17T01:13:09.887 に答える
1

次のコードでアドインを起動できます。自動サインインを選択する前に確認してください。

Import win32com.client
xl = win32com.client.DispatchEx("Excel.Application")
于 2015-04-20T15:43:04.187 に答える