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

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

採用された回答

MathWorks Support Team
MathWorks Support Team 2017 年 4 月 19 日
既に、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 社の資料など、適宜ご参照ください。
 

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2013b

Community Treasure Hunt

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

Start Hunting!

Translated by