MATLABからEx​celファイルを開く​。ただし、ファイルが​開かれている時は2重​で開かない。

5 次查看(过去 30 天)
Mamoru Mabuchi
Mamoru Mabuchi 2022-3-12
回答: Jiro Doke 2022-3-16
MATLABからExcelファイルを開きたいです。
ただし、該当のファイルが開いている時に、二重で開かないようにしたいです。
どのように記述すればよいでしょうか
下記は、ファイルを開く時のコマンドです。Test.xlsxが予め開いている時には、Openを実行しないようにしたいです。
excelapp = actxserver('Excel.Application');
excelapp.Visible = 1;
wkbk = excelapp.Workbooks;
wdata = Open(wkbk,'C:\Test.xlsx');

回答(1 个)

Jiro Doke
Jiro Doke 2022-3-16
こんな感じで出来ると思います.
filename = 'C:\Test.xlsx';
try % 既存のExcelへ接続
excelapp = actxGetRunningServer('Excel.Application');
catch % Excelが起動していない場合は新規に起動
excelapp = actxserver('Excel.Application');
excelapp.Visible = true;
end
wkbk = excelapp.Workbooks;
% 開いているファイルの数
nFiles = excelapp.Workbooks.Count;
isOpen = false;
for id = 1:nFiles
if isequal(wkbk.Item(id).Fullname,filename)
% 既にファイルが開いている
isOpen = true;
wdata = excelapp.Workbooks.Item(id);
break
end
end
if ~isOpen
wdata = Open(wkbk,filename);
end

类别

Help CenterFile Exchange 中查找有关 ソフトウェア開発ツール 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!