MATLAB 上で指定したエクセルファイルのみを閉じることはできますか?
조회 수: 11 (최근 30일)
이전 댓글 표시
MathWorks Support Team
2017년 4월 19일
답변: MathWorks Support Team
2017년 4월 19일
MATLAB 上でのファイル操作で、事前にexcelで同じファイルを開いた状態のときにエラーが発生することを防ぎたいと考えています。
そのため、MATLAB 上で指定したエクセルファイルのみを閉じたいと考えています。
dos('taskkill /im excel.exe')ですと、複数エクセルファイルを開いているときに一気にすべてが閉ざされてしまい、
特定のファイルのみ閉じることができませんでした。何か方法はないでしょうか?
채택된 답변
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!