VBA 開いているEXCELファイルを保存せずに閉じる

  • 作成日 2022.07.20
  • vba
VBA 開いているEXCELファイルを保存せずに閉じる

VBAで、開いているEXCELファイルを保存せずに閉じるコードを記述してます。

環境

  • OS windows10 64bit

EXCELファイルを保存せずに閉じる

EXCELファイルを保存せずに閉じるには、警告を出さずに「close」処理を行います。

適当なボタンを用意して、開いているEXCELファイルを警告なしで保存せずに閉じる
以下のソースコードを記述します。

Private Sub CommandButton1_Click()

    Application.DisplayAlerts = False

    Workbooks("test.xlsx").Close
    
    Application.DisplayAlerts = True

End Sub

実行してみます。

閉じていることが確認できます。

以下のコードでも、結果は同じです。

Private Sub CommandButton1_Click()

    Workbooks("test.xlsx").Close SaveChanges:=False

End Sub

or

Private Sub CommandButton1_Click()
    
    Call Workbooks("test.xlsx").Close(SaveChanges:=False)

End Sub

EXCELファイル存在確認

上記のコードだと、対象のEXCELファイルが存在しなければエラー
「実行時エラー ‘9’ インデックスが有効範囲にありません」
となるため存在チェックしてから削除する場合は、以下のコードなります。

Private Sub CommandButton1_Click()
    
    Dim i As Long
    
    For i = 1 To Workbooks.Count
        If Workbooks(i).Name = "test.xlsx" Then
            Application.DisplayAlerts = False
        
            Workbooks("test.xlsx").Close
            
            Application.DisplayAlerts = True
        End If
    Next i

End Sub

実行結果