调用宏时将参数从 MATLAB 传递给 VBA
Pass argument from MATLAB to VBA when macro is called
目前我有一个 MATLAB 脚本,它打开一个 excel sheet 并继续 运行 一个宏,如代码所示:
excelApp = actxserver('Excel.Application');
% -------------------------------------------------------------------------
% Open workbook...
% -------------------------------------------------------------------------
excelWB = invoke(excelApp.Workbooks,'Open','O:\Tools\Measurement Database Tool\Parse_Compare_Import.xlsm');
% -------------------------------------------------------------------------
% Run macro...
% -------------------------------------------------------------------------
invoke(excelApp, 'Run', 'OpenFiles');
% -------------------------------------------------------------------------
重要的是脚本的用户将 select MATLAB 脚本需要从中运行的文件夹,该文件夹将针对每个用户而改变,因此我无法将文件夹路径编码到脚本中,为了避免用户必须 select 一次为 MATLAB 和再次在 excel 中使用相同的文件夹,有没有办法在我打开和 运行 时将此路径名从 MATLAB 传递到 excel宏?
连接到 Excel(您的 excelApp
)后,您可以将 MATLAB(用户选择的文件夹)中的值放入其中一个的特定单元格中Excel 工作表中的工作表。
然后让您的 Excel 宏引用该单元格中的值。
目前我有一个 MATLAB 脚本,它打开一个 excel sheet 并继续 运行 一个宏,如代码所示:
excelApp = actxserver('Excel.Application');
% -------------------------------------------------------------------------
% Open workbook...
% -------------------------------------------------------------------------
excelWB = invoke(excelApp.Workbooks,'Open','O:\Tools\Measurement Database Tool\Parse_Compare_Import.xlsm');
% -------------------------------------------------------------------------
% Run macro...
% -------------------------------------------------------------------------
invoke(excelApp, 'Run', 'OpenFiles');
% -------------------------------------------------------------------------
重要的是脚本的用户将 select MATLAB 脚本需要从中运行的文件夹,该文件夹将针对每个用户而改变,因此我无法将文件夹路径编码到脚本中,为了避免用户必须 select 一次为 MATLAB 和再次在 excel 中使用相同的文件夹,有没有办法在我打开和 运行 时将此路径名从 MATLAB 传递到 excel宏?
连接到 Excel(您的 excelApp
)后,您可以将 MATLAB(用户选择的文件夹)中的值放入其中一个的特定单元格中Excel 工作表中的工作表。
然后让您的 Excel 宏引用该单元格中的值。