黙々とC#

"In a mad world of VBA, only the mad are sane" 『VBAという名の狂った世界で狂っているというのなら私の気は確かだ』


ワークシートの追加

本記事は、Excel C# Script入門講座の1記事です。

ワークシートの追加

ワークシートの追加には、WorksheetsオブジェクトのAddメソッドを使用します。追加するシートの場所、数を引数で指定することができます。

Worksheetsオブジェクトは、一のWorkbookオブジェクトが有するWorksheetオブジェクト全てを返すコレクションクラスです。Workbookオブジェクトが、オブジェクト名と同名のWorksheetsプロパティとして備えており、読み出しのみ可能なオブジェクトです。

通常、(Workbookオブジェクト).Worksheetsの形式で利用することが可能です。

Addメソッドの構文

(Worksheetsオブジェクト).Add(Before, After, Count, Type)

Addメソッドの引数

引数名 必須 / オプション 内容
Before 省略可能 指定したWorksheetオブジェクトの直前に、新しいグラフ/シートを追加します。
After 省略可能 指定したWorksheetオブジェクトの直後に、新しいグラフ/シートを追加します。
Count 省略可能 追加するシートの数を指定します。省略した場合、1が指定されます。
Type 省略可能 ワークシートの種類を指定します。使用できる定数は、XlSheetType クラスの xlWorksheet、xlChart、xlExcel4MacroSheet、xlExcel4IntlMacroSheet のいずれかです。既存のテンプレートに基づいたシートを挿入する場合は、そのテンプレートのパスを指定します。既定値は xlWorksheet です
Before, Afterを省略した場合

引数 Before と引数 After を共に省略すると、アクティブ シートの直前に新しいシートが追加されます。

引数Typeについて

ExcelCSXにおいては、定数はそのままの記載では呼び出せないため、かわりに対応する数値(各列挙体に割り当てられた数値)を指定して下さい。

引数に指定する定数 enum値 概要
xlWorksheet -4167 ワークシート
xlChart -4109 グラフ (手元の環境では実行不可)
xlExcel4MacroSheet 3 Excel 4.0 マクロ シート
xlExcel4IntlMacroSheet 4 Excel 4.0 インターナショナル マクロ シート

サンプルコード

//アクティブシート(の直前)にシートを追加
Excel.ActiveWorkbook.Worksheets.Add();

//Sheet2の直後にシートを追加
var sheet2 = Excel.Worksheets("Sheet2");
Excel.ActiveWorkbook.Worksheets.Add(After: sheet2);

f:id:d_ymkw:20160715203646p:plain

//Sheet2の直後にシートを追加
//(追加されるシートの順番に注意)
var sheet2 = Excel.Worksheets("Sheet2");
Excel.ActiveWorkbook.Worksheets.Add(After: sheet2, Count:3);

f:id:d_ymkw:20160715203859p:plain

//Sheet1直後にExcel 4.0 マクロ シートを追加
var sheet1 = Excel.Worksheets("Sheet1");
Excel.ActiveWorkbook.Worksheets.Add(After: sheet1, Type:3);