COM オブジェクト インターフェイス
IUnknown および IDispatch インターフェイス
関数 actxserver
を呼び出すと、MATLAB® はサーバーを作成し、プロパティとメソッドにアクセスする手段としてサーバー インターフェイスにハンドルを返します。ソフトウェアは次のプロセスを使用して、返すハンドルを決定します。
まず、コンポーネントから IUnknown インターフェイスのハンドルを取得します。このインターフェイスを実装するにはすべての COM コンポーネントが必要です。
IDispatch インターフェイスの取得を試行します。IDispatch が実装されている場合は、このインターフェイスのハンドルを返します。IDispatch が実装されている場合は、IUnknown のハンドルを返します。
追加のインターフェイス
多くの場合、コンポーネントには IDispatch に基づいてプロパティとして実装される追加のインターフェイスが用意されています。その他のプロパティの場合と同様に、MATLAB 関数 get
を使用してこれらのインターフェイスを取得します。
たとえば、Microsoft® Excel® コンポーネントには多くのインターフェイスが含まれています。これらのインターフェイスを Excel プロパティと共にリストするには、以下を入力します。
h = actxserver('Excel.Application'); get(h)
MATLAB によって、以下の情報が表示されます。
Application: [1x1 Interface.Microsoft_Excel_9.0_ Object_Library._Application] Creator: 'xlCreatorCode' Parent: [1x1 Interface.Microsoft_Excel_9.0_ Object_Library._Application] ActiveCell: [] ActiveChart: [1x50 char] . .
Workbooks
がインターフェイスかどうかを確認するには、以下を入力します。
w = h.Workbooks
MATLAB に以下のように表示されます。
w = Interface.Microsoft_Excel_9.0_Object_Library.Workbooks
表示される情報は使用するシステムの Excel ソフトウェアのバージョンによって異なります。
MATLAB での Excel の使用例は、以下の節を参照してください。