「vba Workbooks.Add 名前を付ける」
「vba excel workbook add ファイル名」
「エクセル マクロ 新規ブックの作成 Workbooks.add 名前」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスが時折あります。
Workbooks.Addメソッドで作成した新規ブックのファイル名を指定するには、どのようなExcel VBAのコードを書けばいいのか探していた方による検索です。
Workbooks.Addではファイル名を指定できない
Workbooks.Addメソッドの引数でファイル名を指定できる、と思っている方がおられるかもしれませんが、違います。
オブジェクトブラウザーの詳細ペイン等で確認できるとおり、
Workbooks.Addメソッドに、ファイル名を指定する引数はありません。
Excelでファイル名を指定するのはいつですか?
(VBAからではなく)Excelで、新規に作成したブックのファイル名を指定できるのがいつなのか、思い出してください。
新しいブックのファイル名を指定するのは、保存のときです。新規ブックを作成するショートカットキー[Ctrl]+[N]を押したときに、新規に作成されるブックのファイル名を指定するわけではありません。
Excel VBAを使ってブックを新規に作成する場合も、ファイル名を指定するのは保存時です。
Workbooks.Add後にファイル名を指定する
拙著『いちばんやさしいExcel VBAの教本』の、「Lesson 75 WorkbooksとWorkbookのプロパティ・メソッドについて学習しましょう」でも触れているWorkbooksコレクションのSaveAsメソッドを使えば、
Excel VBAで名前を付けて保存ができます。
以下のSubプロシージャを実行すると、Workbooks.Addメソッドで新規に作成したブックが、Cドライブのtempフォルダーにsample.xlsxファイルとして保存されます。
Dim bk As Workbook
Set bk = Workbooks.Add
bk.SaveAs "C:\temp\sample.xlsx"
End Sub
Workbooks.Addメソッドは、新規に作成されたブックを表すWorkbookオブジェクトを返します。そのWorkbookオブジェクトをWorkbook型オブジェクト変数に代入しておいて、
Set bk = Workbooks.Add
Workbook.SaveAsメソッドの第1引数にファイル名を指定して、保存を行っています。
bk.SaveAs "C:\temp\sample.xlsx"
最終更新日時:2021-04-22 03:28
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Workbooks.Addでファイル名を??