未分類

C# Excel のシートを削除する

準備

1. 参照設定を追加します。
– Microsoft Excel 14.0 Object Library

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
using XL = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

// コード
private void button1_Click(object sender, EventArgs e)
{
  XL.Application xlApp = new XL.Application();
  XL.Workbooks xlWorkbooks = xlApp.Application.Workbooks;
  XL.Workbook xlWorkbook;
  XL.Sheets xlSheets;
  XL.Worksheet xlWorksheet;
  
  object oM = Type.Missing;
  xlWorkbook = xlWorkbooks.Open(@"D:\test.xlsx", oM, oM, oM, oM, oM, oM, oM, oM, oM, oM, oM, oM, oM, oM);
  xlSheets = xlWorkbook.Worksheets;
  xlWorksheet = xlSheets[1];
  
  xlApp.DisplayAlerts = false;
  xlWorksheet.Delete();
  xlApp.DisplayAlerts = true;
  
  xlWorkbook.Save();
  xlApp.Quit();
  
  Marshal.ReleaseComObject(xlWorksheet);
  Marshal.ReleaseComObject(xlSheets);
  Marshal.ReleaseComObject(xlWorkbook);
  Marshal.ReleaseComObject(xlWorkbooks);
  Marshal.ReleaseComObject(xlApp);
}

解説

シートは Delete メソッドで削除できますが、削除確認ダイアログが開きますので、事前にそのメッセージを抑制する必要があります。その処理が DisplayAlerts = false です。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類