Try to copy both Event Macros into the ThisWorkbook level of Workbook A:
Private Sub Workbook_Open()
Workbooks.Open ("B.XLS")
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Workbooks("B.XLS").Close SaveChanges:=False
ActiveWorkbook.Close SaveChanges:=True
End Sub
========
Micky