【マクロVBA】Book操作総まとめ!ブックを開く・作成・名前の変更・フォルダの移動・保存・閉じる

ブック操作

ブックを操作する中で様々な操作方法があります。
ブックのアクティブについては過去の記事で説明しています。☟

【VBA知識 12】別のシートをアクティブ・選択する方法について ► 独学エクセル塾 (dokugakuexcel.com)

今回はブック操作の中でもブックを開く・ブックの作成・

ブックの名前の変更・ブックを閉じる操作について、ご紹介します。


ブックをアクティブにする操作に加え、今回の記事を身につけると

ブック関係の操作は網羅できるようになります。

ぜひ参考にしてみてください。

それでは見ていきましょう。




■ブックを開く

・ファイル名を直接入力して開く

まず、ブックを開く操作について説明します。

ブックを開く際には下記のようなプログラムになります

Workbooks.Open “ブックのフルパス”

フルパスの表示方法についてはファイルのプロパティからも拾えるのですが
クイックアクセスツールバーに追加しておくと、とても便利です

クイックアクセスツールバーの追加については
「ファイル」→「オプション」→「クイックアクセスツールバー」を選択し
コマンドの選択を「リボンにないコマンド」にします。
そこに「ドキュメントの場所」があるので選択して「追加」をして「OK」で追加されます。

ちなみに見本ブックというものを作成しました。
そちらはCドライブに直接保存したのですがこのようになります。

クイックアクセスツールバーにドキュメントの場所が表示されていますね。
ちなみに見本ブックはC:\見本ブック.xlsmのようになっています。

ではこちらをVBAを使用して開いてみましょう。

プログラムがこのようになります。

Sub ブックを開く()

Workbooks.Open “C:\見本ブック.xlsm

End Sub

こちらで見本ブックを開いてくれます。

・変数のブック名を開く

今度はブック名を変数に格納してある状態でブックを開いてみましょう。
プログラムはこのようになります。

Sub 変数のブックを開く()

Dim Bookname As String

Bookname = “C:\見本ブック.xlsm”

Workbooks.Open Bookname

End Sub

これにより変数名のブックを開くことができます。
ファイル1、ファイル2とファイル名の番号が変わって、各ファイルに書き込むときには変数を使用したほうが楽ですね。

■ブックの作成を行う

今度はブックの作成についてです。
こちらはデータの集計結果を別ファイルに作成し、出力するときなどに使えそうですね。

プログラムはこのようになります。

Workbooks.Add

これだけです。
一応作成したプログラムを載せておきます。

Sub 新しいブックを作成する()

Workbooks.Add

End Sub

実行すると新しいブックの「Book1」が作成されました。

■ブックに名前を付ける

先ほどばブックを作成しましたが
今度はブックに名前を付けてみましょう

プログラムはこのようになります。

ActiveWorkbook.SaveAs Filename:=”パス+ファイル名+.xlsx

パスとファイル名は保存したい場所・ファイル名を入力してください。

ちなみに対象は「ActiveWorkbook」にしていますが、変数でも構いません
見本プログラムを下記にのせておきます。

Sub ブックに名前を付けて保存()

Dim Bookname As Workbook

Set Bookname = ActiveWorkbook

Bookname.SaveAs Filename:=”パス+ファイル名+.xlsx

End Sub

xlsmで保存の際のエラーの対応や「txt(テキスト)」「csv」ファイルで保存する際の

記事については下記でまとめてますので是非参考にしてみてください。

【マクロVBAエラー対応】「.xlsm」の拡張子でブックの名前を付けて保存ができない対応方法 ► 独学エクセル塾 (dokugakuexcel.com)

■フォルダに入っているブックを別フォルダに移動させる

では次にエクセルのファイルを
現在入っているフォルダから別のフォルダに移動させましょう。

こちらは移動ととらえるより、先ほど名前を付けたように
パスを書き換えるという方がイメージが付きやすいかもしれません

見本で「C:\見本フォルダ①」のフォルダに「1Book.xlsx」というファイルを作ってみました

こちらを見本フォルダ②に入れてみましょう。
ちなみに見本フォルダ②は現在何も入っていません。

プログラムは下記の通りです。

Name “変更前のパス+ファイル名” As “変更前のパス+ファイル名”

では当てはめていきましょう
変更前のパス+ファイル名”は「C:\見本フォルダ①\1Book.xlsx」になります。
“変更後のパス+ファイル名”は「C:\見本フォルダ②\1Book.xlsx」
になります。
合わせると…

Sub ファイルの位置の変更()

Name “C:\見本フォルダ①\1Book.xlsx” As “C:\見本フォルダ②\1Book.xlsx”

End Sub

このようになります。
では実行してみましょう。

見本フォルダ①の方は…

空になりました。
見本フォルダ②を見てみると…

ファイルが移動したことがわかりますね。
ちなみにブックの移動は通常の動作と同様に指定ファイルは閉じた状態でないと異常が表示されます。

■ブックを保存する

ではブックの保存について見ていきましょう。
保存のプログラムはこのようになります。

Workbooks(“ファイル名“).Save

ここではパスなど入れずにファイル名のみ入れてください。
Book.xlsx」というファイルがあったとするとプログラムはこのようになります。

Sub ブックの保存()

Workbooks(“Book.xlsx“).Save

End Sub

変数を用いた場合はこちら…

Sub ブックの保存()

Dim Bookname As Workbook

Set Bookname = ActiveWorkbook

Bookname.Save

End Sub

■ブックを閉じる

最後のブック操作はブックを閉じるについてです。
ブックを閉じるプログラムはこのようになります。

Workbooks(“ファイル名“).Close

ここでも保存と同様にパスなど入れずにファイル名のみ入れてください
Book.xlsx」というファイルがあったとするとプログラムはこのようになります。

Sub ファイルを閉じる()

Workbooks(“Book.xlsx“).Close

End Sub

ちなみに変数を使用したブックを閉じる際は
変数.closeのみで構いません。
見本のプログラムも載せておきます。

Sub ファイルを閉じる()

Dim Bookname As Workbook

Set Bookname = ActiveWorkbook

Bookname.Close

End Sub

⬛︎公式の説明

わかりやすいように説明したため公式と使用する語句が異なりますが
マイクロソフト公式の説明については下記のリンクを参照してください。☟

Workbooks.Open メソッド (Excel) | Microsoft Learn

Workbooks.Add メソッド (Excel) | Microsoft Learn

Workbook.SaveAs メソッド (Excel) | Microsoft Learn

Workbook.Save メソッド (Excel) | Microsoft Learn

Workbook.Close メソッド (Excel) | Microsoft Learn

■まとめ

いかがだったでしょうか。
これでブック操作はマスターできたと思います。

未処理ファイルを開いて処理して処理済みフォルダに格納…
のようなプログラムも組めますね。

ぜひ参考にしてみてください。

次回はシートの操作についてまとめています。記事はこちらから☟

【マクロVBA知識 17】シートを作成・名前を付ける・ブック内/外へコピー・移動・削除する。 ► 独学エクセル塾 (dokugakuexcel.com)

それでは次回の記事でお会いしましょう。

コメント

  1. […] 【マクロVBA知識 16】ブックを開く・作成・名前の変更・フォルダの移動・保存・閉じる ► 独学エクセル塾 (dokugakuexcel.com) […]

  2. […] 【マクロVBA知識 16】ブックを開く・作成・名前の変更・フォルダの移動・保存・閉じる ► 独学エクセル塾 (dokugakuexcel.com) […]