Just last week, I had a similar problem with an Excel file. The data on the spreadsheet wasn't important, but the contents of the VBA macro I was writing would've taken me several hours to recreate. When I saved the spreadsheet at the end of the day (after having save multiple times throughout the day), I got a message saying that "Excel.exe has generated errors" and it quit. I rebooted, opened the spreadsheet, got the same error.
After about a half hour of poking around Microsoft's website it dawned on me that I could try opening it in OpenOffice. I opened it, did a "save as" and saved it to Excel format under a different name. When I re-opened it in Excel, some of the formatting was lost, but all my VBA code was there with all my changes, including the ones from the last save that killed Excel. I was very happy.