更新日:、 作成日:
VBA ワークブックを新規作成する
はじめに
Excel VBA マクロでワークブックを新規作成する方法を紹介します。
Workbooks.Add メソッドから、ブックを新規作成できます。
シートの種類やファイルをテンプレートとして作成できます。
ブックを保存するには「ワークブックを保存する」をご覧ください。
ブックを作成する
新しいブックを作成するには Workbooks.Add を入力します。
Dim wb As Workbook
Set wb = Workbooks.Add ' ブックを作成
Debug.Print(wb.Name)
作成したブックがアクティブになります。シートの数は Excel のオプションから全般の「ブックのシート数」です。Application.SheetsInNewWorkbook で取得または設定ができます。
テンプレートを指定
シートの種類か既存のファイルをテンプレートとして引数で指定できます。引数を指定すると、そのシートが 1 枚追加された状態でブックが作成されます。
シートの種類には次のものがあります。
定数名 | 値 | 説明 |
xlWBATWorksheet | -4167 | ワークシート |
xlWBATChart | -4109 | グラフシート |
xlWBATExcel4MacroSheet | 3 | Excel4マクロシート |
xlWBATExcel4IntlMacroSheet | 4 | Excel4インターナショナルマクロシート |
Call Workbooks.Add(xlWBATWorksheet) ' ブックにワークシートを追加して作成
Call Workbooks.Add(xlWBATChart) ' ブックにグラフシートを追加して作成
既存のファイルをテンプレートにするには、そのパスまたはファイル名を指定します。
' ファイルをテンプレートとして作成
Call Workbooks.Add("D:\Tips.xlsx")
Call Workbooks.Add("ローカル.xlsx")
指定したファイルと同じブック名の連番 ブック名1 と、同じシートを持ったブックが作成されます。
ファイル名だけ指定したときは、カレントディレクトリにあるファイルをテンプレートにします。カレントディレクトリの既定値は、Excel のオプションから保存の「既定のローカルファイルの保存場所」です。
カレントディレクトリは、ファイルを開くダイアログや名前を付けて保存ダイアログを使用すると変更されます。このため必ず絶対パスを使用します。
スポンサーリンク
作成したブックを編集する
Add の戻り値から作成したブックを取得できます。
Dim wb As Workbook
Set wb = Workbooks.Add ' 戻り値から作成したブックを取得
' そのブックに対して編集
wb.Worksheets(1).Range("A1").Value = "編集"
wb.Close
ブック名を変更するには保存時や閉じるときにできます。
ブックを保存するには「ワークブックを保存する」をご覧ください。
ブックを閉じるには「ワークブックを閉じる」をご覧ください。