| 外部インタフェース/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リンク | ![]() |