I got that too. I think what is happening is that when the spreadsheet opens, it is visible, and that's OK. However, if you (or I) close it with the close button (the X), instead of letting the Access VBA do it, you get the error. That will confuse your users no end.
Try making the spreadsheet invisible with x1.Visible = False instead of True - that worked for me.