ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

COM オブジェクトの呼び出し

MATLAB® からの、COM コンポーネントおよび ActiveX® コントロールへのアクセス

Microsoft® "Component Object Model" (COM) は、再利用可能なバイナリ ソフトウェアのコンポーネントをアプリケーションに統合するための枠組みを与えます。コンポーネントは、コンパイルされたコードで実装されるため、COM をサポートするプログラミング言語でソース コードを記述することができます。アプリケーションのアップグレードは、該当するアプリケーション全体の再コンパイルの必要はなく、単にコンポーネントを交換するだけで済むため簡単に行えます。これに加え、コンポーネントの場所はアプリケーションから透過的であるため、コンポーネントを別のプロセスやリモート システムに移行した場合もアプリケーションを修正する必要はありません。

または、Microsoft .NET Framework を使用することを検討してください。

MATLAB は、Microsoft Windows® プラットフォームのみで COM および .NET Framework との統合をサポートしています。

関数

actxserverCOM サーバーを作成
actxcontrolFigure ウィンドウ内に Microsoft ActiveX コントロールを作成
actxcontrollist現在インストールされている Microsoft ActiveX コントロールのリスト
actxcontrolselectUI から Microsoft ActiveX コントロールを作成
eventlistenersCOM オブジェクト イベントに関連付けられたイベント ハンドラー関数の一覧表示
methodsviewクラス メソッドを表示する
registerevent実行時に COM オブジェクト イベントのイベント ハンドラーを関連付ける
unregisteralleventsCOM オブジェクト イベントに関連付けられたすべてのイベント ハンドラーを登録解除する
unregisterevent実行時に COM オブジェクト イベントに関連付けられたイベント ハンドラーの登録を解除する
iscom入力が COM オブジェクトか ActiveX オブジェクトかを判別
isevent入力が COM オブジェクト イベントかどうかを判別
isinterface入力が COM インターフェイスかどうかを判別

オブジェクト

COMMATLAB から COM コンポーネントおよび ActiveX コントロールへのアクセス

例および操作のヒント

Microsoft Office

ActiveX を使用した Excel スプレッドシートへのデータの書き込み

この例では、MATLAB 行列を Excel® スプレッドシートに書き込む方法を説明します。

Excel をオートメーション サーバーとして使用したスプレッドシート データの読み取り

この例では、COM オートメーション サーバーを使用して MATLAB から別のアプリケーションにアクセスする方法を示します。

スプレッドシートでのカーソルの変更

この例では、Excel® スプレッドシートでカーソル アイコンを変更する方法を説明します。

スプレッドシート セルの Range における行の高さの変更

この例では、スプレッドシートで Range オブジェクトにより定義される、行の高さを変更する方法を説明します。

最初のシートの後ろにスプレッドシートを挿入

この例では、ワークブックへのシートの挿入に使用される Excel Add メソッドで、オプションの入力引数をスキップする方法を説明します。

既存の Excel アプリケーションへの接続

この例では、開いたファイル weekly_log.xlsx から MATLAB でデータを読み取る方法を説明します。

ワークブック OnClose イベントのメッセージの表示

この例では、COM インターフェイス イベントを処理する方法、Microsoft Excel workbook オブジェクトでイベントを設定する方法、およびその BeforeClose イベントを処理する方法を説明します。

COM オブジェクトの詳細検索

MATLAB コマンドを使った COM オブジェクトの詳細の入手

ActiveX コントロール

MATLAB のサンプル ActiveX コントロール mwsamp

MATLAB には、ユーザーがシングルクリックまたはダブルクリックすると画面上に円を描画し、テキストを表示し、イベントを起動するサンプル COM コントロールが用意されています。

mwsamp コントロールでの円の再描画

この例では、円を再描画するために mwsamp コントロールのメソッドを呼び出す方法を説明します。

mwsamp コントロールからのイベント メッセージの表示

この例では、MATLAB の ActiveX コントロール mwsamp2 によって起動されたイベントの処理方法を説明します。

mwsamp コントロールへの Position プロパティの追加

この例では、カスタムの Position プロパティを mwsamp コントロールに追加する方法を説明します。

MATLAB ローカル関数としてのイベント ハンドラーの統合

この例では、ローカル関数を使用してイベント ハンドラーを単一のファイルに統合する方法を説明します。

mwsamp2 COM コントロールの保存

この例では、mwsamp2 コントロールの元の設定を復元する方法を説明します。

ランタイム ライセンスが必要な ActiveX コントロールの配布

ランタイム ライセンスが必要な Microsoft ActiveX コントロールを配布する際は、ライセンス キーを含めて、実行時にコントロールで読み取るようにします。

Internet Explorer

MATLAB Figure 内での Internet Explorer の使用

この例では、ActiveX コントロール、Shell.Explorer を使用して HTML ビューアーを MATLAB Figure にインクルードします。

概念

MATLAB COM の統合

COM の概念と MATLAB ソフトウェアにおける COM サポートの概要

COM 入門

MATLAB ソフトウェアで COM インターフェイスを使用する方法を示す例

コントロールとサーバーの登録

COM オブジェクトを使用する前に、コントロールとサーバーを登録しなければなりません。

COM オブジェクトの作成

Microsoft ActiveX コントロールと COM サーバー オブジェクトの作成方法

MATLAB での COM データの処理

COM オブジェクトにデータを渡し、COM オブジェクトからのデータを処理する

COM オブジェクト プロパティ

プロパティ名とセット値をリストし、複数のオブジェクトとプロパティを操作し、プロパティ インスペクターを使用し、列挙値とカスタム プロパティを使用します。

COM メソッド

COM オブジェクトに属する COM 関数またはメソッドを実行するか "呼び出し" ます。

COM イベント

イベントへの応答、イベント ハンドラーの書き込み

COM イベント ハンドラー

コントロールの場合、コントロールのインスタンスの作成時 (関数 actxcontrol を使用)、またはその後の任意の時点 (関数 registerevent を使用) でハンドラー関数を登録します。

COM オブジェクトの保存と削除

次の MATLAB 関数を使用して COM コントロール オブジェクトの状態を保存および復元します。

COM オブジェクト インターフェイス

COM インターフェイスの使用

COM コレクション

COM "コレクション" は、反復が可能な関連する COM オブジェクトのグループをサポートするための手段です。

サポートされるクライアントおよびサーバーの構成

MATLAB ソフトウェアにおける COM クライアント サーバーの構成

Microsoft Forms 2.0 コントロール

Microsoft Forms 2.0 コントロールは、Microsoft Visual Basic® for Applications (VBA) 対応のアプリケーションでの使用を目的として設計されています。

DCOM クライアントとしての MATLAB アプリケーション

Distributed Component Object Model (DCOM) は、クライアントがネットワーク上でリモート COM オブジェクトを利用するためのプロトコルです。

トラブルシューティング

MATLAB COM サポートの制限

Microsoft は、32 ビットの DLL やインプロセス COM サーバーを 64 ビット アプリケーションに読み込むことはサポートしておらず、その逆もサポートしていません。

COM エラー メッセージにおける引数コールアウトの解釈

MATLAB クライアントが無効な引数をもつコマンドを COM サーバー アプリケーションに送信すると、サーバーはエラー メッセージを次のような形式で送り返します。