excel vba matlab,Matlab到Excel VBA可见性错误

我有一个函数将值写入两个链接的Excel电子表格中。这个函数然后在第二个电子表格中运行一个宏。

在代码的第一部分(见下面)中,我试图做两件事:

禁止Excel中的警告

当Matlab启动这些工具时,使Excel不可见。

如果它是可见的,我会收到来自Excel的提示来更新链接,我认为将警报显示为false会予以照顾。

如果我使窗口不可见,则在启动宏Excel.Run(createMTXMacro); % Run macro时遇到错误

error MATLAB:COM:E2148140012

我试图弄清楚为什么我无法运行能见度关闭。

%% Open excel tools

h = waitbar(0,'Initializing Excel Tools');

Excel = actxserver('excel.application');

Workbooks = Excel.Workbooks;

Excel.DisplayAlerts = false; %Supress Excel warnings

Excel.Visible = 0;

Excel.ScreenUpdating = false;

waitbar(1/6,h,'Opening Matrix Form');

mtxWorkbook = Workbooks.Open(mtx_form_path);

mtxWbk = Excel.ActiveWorkbook;

waitbar(2/6,h,'Opening Input Form');

inpWorkbook = Workbooks.Open(inpt_form_path);

inpWbk = Excel.ActiveWorkbook;

%% Write to input form

waitbar(3/6,h,'Writting to Input Form');

inpWorkbook.Activate;

inpWorkSheets = inpWorkbook.Sheets;

inpInputSheetName = 'inputs';

inpInputSheet = inpWorkSheets.Item(inpInputSheetName);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Some code here to write into the first spreadsheet

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Write to matrix creator

waitbar(4/6,h,'Writting to Input Form');

%Matrix Worksheet

mtxWorkbook.Activate;

mtxWorkSheets = mtxWorkbook.Sheets;

%Input Load Case Selection on Matrix Worksheet

mtxInputSheetName = 'Input';

mtxInputSheet = mtxWorkSheets.Item(mtxInputSheetName);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Some code here to write into the second spreadsheet

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

createMTXMacro = 'CreateMatrixFiles';

Excel.Run(createMTXMacro); % Run macro

%% Close Excel instances

waitbar(5/6,h,'Closing Excel tools');

mtxWbk.Save;

mtxWbk.Close(false); %Close file

inpWbk.Save;

inpWbk.Close(false); %Close file

Excel.Quit; %Quit Excel

Excel.delete;

waitbar(6/6,h,'Closed Excel tools');

close(h)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值