Try putting this in the workbook module in an empty workbook and save as a macro enabled workbook.
Option Explicit
Private Sub Workbook_Open()
Debug.Print "open"
End Sub
Private Sub Workbook_Activate()
Debug.Print "activate"
End Sub
Private Sub Workbook_Deactivate()
Debug.Print "deactivate"
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Debug.Print "before save"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Debug.Print "before close"
End Sub
Close it, open it, save it, close it ... see the sequence of events.
You will see, for example:
So, in answer to your question, yes, it will fire when you close the workbook ... because the workbook is deactivated.
Bookmarks