Add について
Excel VBAのベースとなるWorkbooksオブジェクトを調べた流れで、Addメソッドについても簡単に調べてみました
■Addメソッド
・構文
構文は以下の通りです
広告
Excel.Workbooks.Add([Template])
・パラメータ
- Template … [省略可]新しいブックの作成方法を指定
[Template]にはファイルパスを設定することもできます
[Template]を省略をすることもできます
[Template]には以下の「XlWBATemplate列挙型」が指定することもできます
XlWBATemplate列挙型
- xlWBATChart … グラフ
- xlWBATExcel4MacroSheet … Excel バージョン 4 のマクロ
- xlWBATExcel4IntlMacroSheet … Excel バージョン 4 のインターナショナル マクロ
- xlWBATWorksheet … ワークシート
「XlWBATemplate列挙型」を指定して、Addメソッドを呼び出した場合は、指定された種類のシートが作成されます
・戻り値
- 新しく作成されたWorkbookオブジェクトを返します
広告
■例
・簡単なサンプル
Sub SampleSub() Dim wb As Workbooks Dim w As Workbook Set wb = Me.Application.Workbooks ' グラフのシートを指定して新しいWorkbookを作成する Set w = wb.Add(xlWBATChart) Debug.Print w.Name ' 「グラフ1」 Set w = Nothing ' Excel バージョン 4 のマクロのシートを指定して新しいWorkbookを作成する Set w = wb.Add(xlWBATExcel4MacroSheet) Debug.Print w.Name ' 「Macro1」 Set w = Nothing ' Excel バージョン 4 のインターナショナル マクロのシートを指定して新しいWorkbookを作成する Set w = wb.Add(xlWBATExcel4IntlMacroSheet) Debug.Print w.Name ' 「Macro2」 Set w = Nothing ' ワークシートのシートを指定して新しいWorkbookを作成する Set w = wb.Add(xlWBATWorksheet) Debug.Print w.Name ' 「Sheet1」 Set w = Nothing ' Sample2のファイルパスを指定して新しいWorkbookを作成する Set w = wb.Add("C:\Sample2.xlsx") Debug.Print w.Name ' 「Sample21」 Set w = Nothing ' 空白のシートを指定して新しいWorkbookを作成する Set w = wb.Add() Debug.Print w.Name ' 「Book1」 Set w = Nothing Call wb.Close Set wb = Nothing End Sub
・説明
Addメソッドは新規のWorkbookオブジェクトをWorkbooksオブジェクトに追加するというものです
Templateパラメータに指定するのは、新しいWorkbookを作成するのに何をテンプレートとして作成するかです
そのため、ファイル名を指定したからと言って、指定したファイルにシートを追加するのではなく、
指定したファイルの名前を引き継いだシートを追加した新しいファイルを作成するだけです
Templateパラメータを省略した場合は、馴染みのある名前「Book1」になってますが、
てっきり[xlWBATWorksheet]を指定しても同じ結果になると思ってたので、違ったことにビックリですw
・注意点
- Addメソッドは新規ファイルをWorkbooksオブジェクトに追加するもの
- ファイル名を指定してもファイルにシートが追加されるのではない!
・その他
新しいWorkbookオブジェクトの作り方はわかりました
次は既存のWorkbookの開き方について調べようと思います
ではでは
広告