MATLABからEx​celのマクロを動作​させるにはどのように​しますか?

16 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 25 de Jun. de 2010
MATLABからExcelのマクロを動作させる方法を教えてください。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 25 de Jun. de 2010
MATLABにてACTXSERVERコマンドを使用してExcelをCOMサーバとして起動し、マクロを実行させる方法があります。
たとえば'myFile.xls'ファイルが内に'Macro1'が含まれている場合、以下のコマンドでExcelファイルを開いてマクロを実行することができます。
% オブジェクトの生成
ExcelApp = actxserver('Excel.Application');
% Excel画面の表示
ExcelApp.Visible = 1;
% カレントフォルダにあるファイルを開く
ExcelApp.Workbooks.Open(fullfile(pwd,'\myFile.xls'));
% Macro1の実行。マクロは"ThisWorkBook"に定義され、1つの引数が必要です。
ExcelApp.Run('ThisWorkBook.Macro1', parameter1);
% Macro2の実行。マクロは"Sheet1"に定義され、2つの引数が必要です。
ExcelApp.Run('Sheet1.Macro2', parameter1, parameter2);
% Macro3の実行。マクロは"Module1"モジュールに定義され、引数は不要です。
retVal = ExcelApp.Run('Macro3');
% Excelを終了し、オブジェクトを消去します。
ExcelApp.Quit;
ExcelApp.release;
以下の点にご注意ください。
- シートに定義されているマクロについては、ThisWorkBookまたはモジュールはメソッドによっては0またはそれ以上の引数によりコールされます。
- モジュール内で(subsではなく)functionのみ定義されているのみ戻り値を得ることができます。シートやThisWorkBookに定義されている関数の戻り値はMATLABでは"NaN"、VBまたはVBAでは"Empty"となります。

Más respuestas (0)

Categorías

Más información sobre MATLAB の COM オブジェクト en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!