外部インタフェース/API | ![]() ![]() |
MATLABをオートメーションクライアントとして利用
この例は、MATLABをオートメーションクライアントとして利用し、Microsoft Excelをサーバとして利用します。この例題は、典型的な関数の概要を提供します。さらに、他のアプリケーションのオートメーションインタフェースの利用の良い例です。
% MATLAB ActiveX automation client example % % Open Excel, add workbook, change active worksheet, % get/put array, save. % First, open an Excel Server. Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); % Insert a new workbook. Workbooks = Excel.Workbooks; Workbook = invoke(Workbooks, 'Add'); % Make the second sheet active. Sheets = Excel.ActiveWorkBook.Sheets; sheet2 = get(Sheets, 'Item', 2); invoke(sheet2, 'Activate'); % Get a handle to the active sheet. Activesheet = Excel.Activesheet; % Put a MATLAB array into Excel. A = [1 2; 3 4]; ActivesheetRange = get(Activesheet,'Range','A1','B2'); set(ActivesheetRange, 'Value', A); % Get back a range. It will be a cell array, since the cell range % can contain different types of data. Range = get(Activesheet, 'Range', 'A1', 'B2'); B = Range.value; % Convert to a double matrix. The cell array must contain only % scalars. B = reshape([B{:}], size(B)); % Now, save the workbook. invoke(Workbook, 'SaveAs', 'myfile.xls'); % To avoid saving the workbook and being prompt to do so, % uncomment the following code. % Workbook.Saved = 1; % invoke(Workbook, 'Close'); % Quit Excel. invoke(Excel, 'Quit');
![]() | MATLABコントロールの例 | MATLAB ActiveX Automation Serverのサポート | ![]() |