MATLABからExcelファイルを開く。ただし、ファイルが開かれている時は2重で開かない。
26 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MATLABからExcelファイルを開きたいです。
ただし、該当のファイルが開いている時に、二重で開かないようにしたいです。
どのように記述すればよいでしょうか
下記は、ファイルを開く時のコマンドです。Test.xlsxが予め開いている時には、Openを実行しないようにしたいです。
excelapp = actxserver('Excel.Application');
excelapp.Visible = 1;
wkbk = excelapp.Workbooks;
wdata = Open(wkbk,'C:\Test.xlsx');
0 Kommentare
Antworten (1)
Jiro Doke
am 16 Mär. 2022
こんな感じで出来ると思います.
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
0 Kommentare
Siehe auch
Kategorien
Mehr zu スプレッドシート finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!