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 の使用例は、以下の節を参照してください。