本記事は、Excel C# Script入門講座の1記事です。
ワークシートの削除
ワークシートの削除には、WorksheetオブジェクトのDeleteメソッドを使用します。
Deleteメソッドの戻り値
このメソッドは、bool値が返されます。
Deleteメソッドを実行した際に表示される確認用ダイアログ ボックスで、
- ユーザーが [削除] をクリックした場合は true が返され、
- ユーザーが [キャンセル] をクリックした場合は false が返されます。
注意
このメソッドは、デフォルトでは、即座にワークシートを削除するのではなく、削除の確認を求めるダイアログ ボックスを表示します。 ユーザーが[削除]を選択した場合にのみ、実際にワークシートが削除されます。
Deleteメソッドで即座にワークシートを削除したい場合には、下記サンプルコードに示すように、ApplicationオブジェクトのDisplayAlerts プロパティをfalseにすることで、ダイアログボックスの表示を回避することができます。
サンプルコード
//現在アクティブなシートを削除する Excel.DisplayAlerts = false; Excel.ActiveWorkbook.ActiveSheet.Delete(); Excel.DisplayAlerts = true; //※ DisplayAlertsの設定は、スクリプト実行後のユーザー操作時にまで // 影響が及ぶので必要なときだけfalseに設定し、デフォルト動作に戻している
//Sheet1を削除する。ユーザの選択に応じて処理を分ける場合 var sheet1 = Excel.Worksheets("Sheet1"); if(sheet1.Delete()) { //削除した場合の処理 } else { //削除しなかった場合の処理 }