VBAなんだかんだ その2 ブックを保存して閉じる
やりたいこと
「Workbooks.Add」で作成した新規ブックを保存して閉じる、です。
調べる
「vba ブックを保存」で調べると、すぐに出てきます。
ActiveWorkbook.SaveAs Filename:="[保存先パス&ファイル名]" ActiveWorkbook.Close
これは、楽勝かな?
試す
保存先パスとファイル名って、
Sub ccc() ActiveWorkbook.SaveAs Filename:="C:\test\test.xlsx" ActiveWorkbook.Close End Sub
こういうことだよね?
怒られる
実行時エラー'1004':ファイル'C:\test'にアクセスできません。~~ほにゃらら~~
おお。エラーね。そうね。
試しただけだよ。フォルダがなくても作ってくれるかどうか。
再度試す
Cドライブ直下に「test」フォルダを作って実行
ローカル ディスク(C:) └test └test.xlsx
保存されました。
なんか、あっさりいきすぎるのも物足りないですな。
それはまた、別の話?
「ActiveWorkbook」って、アクティブになってないとダメですよね(当たり前)
Sub ccc() Workbooks("Book2").SaveAs Filename:="C:\test\test.xlsx" Workbooks("Book2").Close End Sub
こっちのほうがいいのかなあ。
あ、でも、ブック名変わってるからCloseできないな。
そこも変えればいい・・・のか?
ま、いっか。通しで実行する時にどうするか考えよう。
まとめ
個々の機能実現のために、色々な書き方のパターンを知っておくことは大事です。
ただ、あまり深く突っ込まないことも大事です(言い訳です)。