MATLAB 上で指定したエクセル​ファイルのみを閉じる​ことはできますか?

11 visualizzazioni (ultimi 30 giorni)
MathWorks Support Team
MathWorks Support Team il 19 Apr 2017
MATLAB 上でのファイル操作で、事前にexcelで同じファイルを開いた状態のときにエラーが発生することを防ぎたいと考えています。
そのため、MATLAB 上で指定したエクセルファイルのみを閉じたいと考えています。
dos('taskkill /im excel.exe')ですと、複数エクセルファイルを開いているときに一気にすべてが閉ざされてしまい、
特定のファイルのみ閉じることができませんでした。何か方法はないでしょうか?

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 19 Apr 2017
既に、Excelで開いた場合、actxGetRunningServer により現在実行中のンスタンスの参照を取得して利用可能です。
https://www.mathworks.com/help/matlab/ref/actxgetrunningserver.html 
例:
>> h = actxGetRunningServer('Excel.Application'); 
>> wb = h.Workbooks;
>> awb = h.ActiveWorkbook; 
>> awb.FullName 
ans = 
'E:\Temp\MATLAB\Book1.csv' 
>> wb.Item(1).FullName 
ans = 
'E:\Temp\MATLAB\Book2.csv' 
>> wb.Item(2).FullName 
ans = 
'E:\Temp\MATLAB\Book1.csv' 
>> wb.Item(1).Close 
% h.Quit % Excel を閉じる場合(コメントをはずして)実施 
なお、AciveX API につきまして Microsoft 社の資料など、適宜ご参照ください。
 

Più risposte (0)

Tag

Non è stata ancora inserito alcun tag.

Prodotti


Release

R2013b

Community Treasure Hunt

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

Start Hunting!

Translated by