エクセルVBAでファイルを閉じる!ファイルを操作

エクセルVBAで、ファイルを閉じてみましょう。エクセルでファイルを閉じるといっても、開いているファイルをすべて閉じたり、ファイル名を指定してファイルを閉じたりと、ファイルを閉じるVBAは、色々な場面で活用できます。シートにボタンを作って、ボタンにVBAを登録すると、ボタンをワンクリックでファイルを閉じることができます。もちろん、ユーザーフォームを作成して、ファイルを閉じるVBAをボタンに登録すると、ユーザーフォームのボタンからファイルを閉じることができます。ファイルを閉じるには、保存して閉じる場合と、保存せずに閉じる場合がありますが、ここでは色々な場合のファイルを閉じる方法を、説明しています。

 

 

ファイルを閉じるVBA

開いている全てのファイルを閉じる

開いているブックを、全て閉じるVBAです。

Sub ファイルを閉じる()
Workbooks.Close
End Sub

アクティブなブックを全て閉じます。

今開いているファイルを、全て閉じたい場合は、このコードを使いましょう。

ファイル名を指定してファイルを閉じる

特定のファイルを指定して、ファイルを閉じるときのVBAです。

Sub ファイルを閉じる()
Workbooks(“Book1.xlsx”).Close
End Sub

例えば、ファイル名「社員№一覧表.xlsx」の場合は、次のようになります。

Sub ファイルを閉じる()
Workbooks(“社員№一覧表.xlsx”).Close
End Sub

このコードを実行すると、「社員№一覧表.xlsx」のファイルが閉じます。

 

 

ファイルを保存して閉じる

ファイルを保存して閉じるVBAです。

Sub ファイルを閉じる()
Workbooks(“Book1.xlsx”).Close SaveChanges:=True
End Sub

ワークブックに変更があった場合、ファイルを閉じる前に、必ず保存確認のメッセージが出ます。

変更がなかった場合は、確認メッセージが出ないで、保存せずにファイルが閉じられます。

このコードは、ファイルに変更があっても、なくても強制的にファイルを保存するコードです。

次のように、SaveChanges を省略することもできます。

Sub ファイルを閉じる()
Workbooks(“Book1”).Close True
End Sub

ファイルを保存しないで閉じる

ファイルを保存しないで閉じるVBAです。

Sub ファイルを閉じる()
Workbooks(“Book1”).Close SaveChanges:=False
End Sub

ファイルの変更があっても、なくてもファイルを保存しないで閉じるます。

 

 

保存の確認メッセージを表示しない

ファイルに変更があった場合は、ファイルを閉じる前に、保存確認のメッセージが出ます。

この確認メッセージを、表示させないようにします。 

 

ファイルを保存して閉じる

保存確認メッセージを表示しないで、ファイルを保存して閉じるVBAです。

Sub ファイルを閉じる()
Application.DisplayAlerts = False
Workbooks(“Book1.xlsx”).Save
Workbooks(“Book1.xlsx”).Close
Application.DisplayAlerts = True
End Sub

「Workbooks(“Book1.xlsx”).Save」でファイルを保存しています。

Save はファイルを保存するメソッドです。

DisplayAlertsは、Excelの確認メッセージの表示を制御するプロパティです。

False を指定すると、確認メッセージは表示されなくなります。

True を指定すると、ファイルが保存されて閉じられてから、DisplayAlerts が再度オンになります。

Application.DisplayAlerts = False・・・・確認メッセージを非表示にする。

 

 

ファイルを保存しないで閉じる

確認メッセージが出ず、ファイルを保存しないでファイルを閉じるVBAです。

Sub ファイルを閉じる()
Application.DisplayAlerts = False
Workbooks(“Book1.xlsx”).Close
Application.DisplayAlerts = True
End Sub

標準モジュール

ここでのVBAは、標準モジュールに記述しています。

 

保存確認メッセージの非表示

エクセルVBAで、ファイルを閉じるとき、ブックに変更があった場合は、必ず保存確認のメッセージが出ます。この確認メッセージが邪魔!メッセージは不要!というならば、必ず保存してからファイル閉じるように設定しましょう。参考までに、確認のメッセージを表示させないで、保存しないでファイルを閉じる方法も紹介しましたが、変更はしたが、この変更を保存しないで閉じたい時に活用できます。ファイルの編集で、内容を間違えて編集してしまった!などにこのVBAは使えます。

こちらの記事もご覧ください。⇒エクセルVBAでボタンからファイルを開く!ファイル名を指定する