1

ABAPからActiveXDLLまたはOLE2オブジェクトを呼び出したい。

オブジェクトをインスタンス化してメソッドを実行する方法の構文はすでに知っています。

data: my_object type ole2_object.

create object my_object <ole2object>.

call method of my_object <objectmethod>.

しかし、特定のアプリケーションを考えると、これがサポートされているかどうか、ole2objectobjectmethodの値/名前をどのように知ることができますか?

トランザクションSOLEは、OLEアプリケーションのテーブルを提供します。この中にはExcelがあります。OLEオブジェクトとしてインスタンス化できることがわかっているアプリケーションなので、最初にOLE2アプリをこのテーブルに追加する必要があるようですが、もう一度どこで読むことができますかCLSIDやLibTypeなどのデータ-アプリケーションの一部として公開されていますか?

4

2 に答える 2

2

オブジェクトはテーブル TOLE から来ています。それらのメソッドとプロパティは、テーブル OLELOAD に格納されます。

少し前に、プロパティとメソッドを見つける方法を示す いくつかのドキュメント ( this onethis one ) を見つけました。

CLSID の表示は簡潔ですが、HKEY_CLASS_ROOt/CLSID を持つレジスタ内の値が、表示されたアプリケーション (例: VISIO.APPLICATION) に対応しているようです。このアプリケーション値を regedit で検索すると、対応する CLSID が見つかります。


それがギヨームを助けていることを願っています

于 2010-05-24T11:21:25.947 に答える
1

この場合、OLE2 を使用して COM インターフェイスにアクセスしているだけです。Office アプリケーションにアクセスする場合は、KB222101を参照してください。他のアプリケーションやライブラリについては、API ドキュメント、いくつかの適切な例が必要です (必ずしも ABAP ではなく、VB で十分です)。開発者を突くための先のとがった棒、またはそれらの 3 つすべて...

ああ、MiTeC の OLE/COM Object Explorer というツールがあり、MiTeCの Web サイトから無料でダウンロードできます。自分では使っていませんが、参考になりそうです。

于 2010-05-24T11:06:40.730 に答える