XLSWRITE 関数で、指定したワークシートのみ持つ Excel ファイルを作成できますか?

11 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2012 年 4 月 23 日
XLSWRITE 関数でワークシート名を指定して変数を Excel にエクスポートしています。既存のシートとして Sheet1、Sheet2、Sheet3 が作成されているのですが、これらを作成しないで保存することはできますか?もしくは、ワークシートを削除する方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2012 年 4 月 23 日
XLSWRITE 関数で、指定したワークシートのみを持つ Excel ファイルを作成することはできません。代替案として、ActiveX の機能を利用して、不要なワークシートを削除する方法があります。
下記は実行例です。
excelFileName = 'Test.xls';
excelFilePath = pwd; % 現在の作業ディレクトリ
sheetName = 'Sheet'; % 既存のワークシート名
% Excelファイルオープン
objExcel = actxserver('Excel.Application');
objExcel.Workbooks.Open(fullfile(excelFilePath, excelFileName)); % 要フルパス
% ワークシート削除
try
objExcel.ActiveWorkbook.Worksheets.Item([sheetName '1']).Delete;
objExcel.ActiveWorkbook.Worksheets.Item([sheetName '2']).Delete;
objExcel.ActiveWorkbook.Worksheets.Item([sheetName '3']).Delete;
catch
disp('エラーが発生しました') % エラーが発生した場合の例外処理
end
% 終了処理
objExcel.ActiveWorkbook.Save;
objExcel.ActiveWorkbook.Close;
objExcel.Quit;
objExcel.delete;

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB の COM オブジェクト についてさらに検索

Community Treasure Hunt

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

Start Hunting!