ブックの新規作成を行うには
ブックの新規作成を行うには、WorkbooksコレクションのAddメソッドを利用します。作成されたブックはアクティブ(最前面表示)になります。
新規作成されたブックは保存されるまではファイルがどこにも存在しません。そのため、明示的に保存をするまではエクスプローラから参照できません。
構文
Function Workbooks.Add([Template]) As Workbook
親オブジェクト | Workbooksコレクションを指定します。Workbookオブジェクト(末尾sがない)を指定するとエラーになります。 | |||||||||||||||
Template(省略可) | 存在するブックパスか、作成するブックの種類をXlWBATemplate列挙型で指定します。
存在するブックパスを指定すると、そのブックをテンプレートとしたブックが新規作成されます。XlWBATemplate列挙型の定数を指定すると定数に従ったシートを持つブックが作成されます。 省略した場合はxlWBATWorksheetが指定された場合と同様にワークシートを持つブックが作成されます。その際のワークシート数はExcelのオプション設定の「ブックのシート数」で定義された枚数に従います。
|
サンプルコード
以下のコードは、シートを新規作成後に3つシートを追加するサンプルです。
新規作成するときのブックのシート数はExcelのオプション設定の「ブックのシート数」の設定値に従います。その設定値はApplication.SheetsInNewWorkbookプロパティで指定することが出来ますが、変更するとExcel全体の設定が変わってしまうため、以下のコードではApplication.SheetsInNewWorkbookプロパティは使用せずにブックへのシート追加の方法を採用しています。
ここではシートを一番右に追加していますが、左に追加することも可能です。それらのブックへのシートの追加についての詳細は「VBAでシートの追加を行う」をご参照ください。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub WorkbooksAddTest() Dim wb As Workbook '// ワークブック Dim i As Integer '// ループカウンタ '// ブックを新規作成 Set wb = Workbooks.Add '// ブックに3シート追加 For i = 1 To 3 Call wb.Worksheets.Add(After:=Sheets(Sheets.Count)) Next End Sub |