外部インタフェース/API | ![]() ![]() |
MATLABをクライアントとして使う
MATLABがクライアントのアプリケーションとして動作するためには、通信を作成し保持するためにMATLAB DDEクライアント関数を使うことができます。
下図に、MATLABがクライアントとしてサーバアプリケーションとどのように通信を行うかを示します。
MATLABのDDEクライアントモジュールは、関数を含みます。以下の表に、MATLABをクライアントとして使用できる関数を示します。
関数 |
説明 |
ddeadv |
MATLABとDDEサーバアプリケーション間でadvisoryリンクを設定します。 |
ddeexec |
DDEサーバアプリケーションに実行文字列を送ります。 |
ddeinit |
MATLABと他のアプリケーション間でDDE通信を開始します。 |
ddepoke |
MATLABからDDEサーバアプリケーションにデータを送ります。 |
ddereq |
DDEサーバアプリケーションからデータを要求します。 |
ddeterm |
MATLABとサーバアプリケーション間のDDE通信を終了します。 |
ddeunadv |
MATLABとDDEサーバアプリケーション間のadvisoryリンクを開放します。 |
サーバのアプリケーションがMicrosoft Excelならば、System のトピックまたはファイル名であるトピックを指定できます。後者を指定する場合、ファイル名は.XLS
または.XLC
で終わり、必要ならば絶対パスを含みます。Microsoft Excelのアイテムはセルの参照で、個々のセルまたはセルの領域を参照できます。
Microsoft Word for Windowsのトピックは、System と.DOC
または.DOT
で終わるファイル名のファイルに保存されるドキュメント名です。Word for Windowsのアイテムは、トピックで指定されるドキュメントのブックマークです。
つぎの例は、Microsoft ExcelとのDDE通信を作り、Excelに20行20列の行列のデータを送るM-ファイルです。
% Initialize conversation with Excel. chan = ddeinit('excel', 'Sheet1'); % Create a surface of peaks plot. h = surf(peaks(20)); % Get the z data of the surface z = get(h, 'zdata'); % Set range of cells in Excel for poking. range = 'r1c1:r20c20'; % Poke the z data to the Excel spread sheet. rc = ddepoke(chan, range, z);
![]() | 例: Visual BasicとMATLAB DDE Serverを使って | DDE Advisoryリンク | ![]() |