Have you ever had this happen to you? You make some changes to a Word document, and all of a sudden it refuses to save. It never happened to me, but it seems to be very popular issue among the users I support. I am absolutely sick of this problem, and for the longest time I could never find a good solution.
The winbox I use to test windows based stuff at work has Office 2003 installed. It seems that this version does not suffer from the save-as issue. I tested each funky file on that machine, and it always saved fine. So I would usually simply upgrade my users to 2003. This usually solved my problem (users stopped calling with that specific issue) but I could never save them from loosing data.
Googling the error messages did not give me any results. There were essentially two sources of the problem: either a corrupted embedded formula or an unpatched memory leak in Word 2k. I totally overlooked the formula issue, and I was pretty certain I was dealing with a memory leak side effect. I was wrong.
Today I found a solution by a fluke. My boss had this very problem, and I gave him my usual response: there is not much he can do about this. He didn’t like it, but he decided to use a spare machine with Office 2k3 to re-create his work. He printed the file to make it easier and… One of the embedded excel tables did not print. So he handed me the paper and told me to figure out why the hell did that happened.
This was when I had my epiphany, and I immediately regretted telling him to loose the data. It was so simple! All this time I was looking in the wrong direction. I went back to the MS knowledge base article about embedded formulas, and re-read it carefully. This was the exact same problem that I had but their workarounds are retarded.
The problem is, that Word will sometimes completely mess up an embedded object – any object for that matter, be it a formula, and image or an excel sheet. The object is still displayed on the screen, but it’s internal structure is lost. Any attempts to access some internal functionality of the corrupted object will generate errors. Corrupted Excel tables also fail to print.
When this happens in Office 2k and XP you get the famous “disk is full or write protected” message when attempting to save. This means that the working copy of this document is so corrupted that Word can’t even begin to figure out how to save it. Win 2k3 on the other hand does not care and will save the file just fine.
Solution to this is very simple – find the broken object, and nuke it. This will fix the problem. Yes, this is drastic, but I guess it’s better to sacrifice one embedded doc, to save the rest of the document. I wish I caught that earlier.
Funny thing is that 2k3 users are part of the problem. They unknowingly send around corrupted files with broken object. They don’t care (and most likely don’t know about them) because 2k3 ignores the corruption, and as long as they don’t try to pint the file or edit the embedded sheets they are fine. On the other hand, as soon as such file ends up with 2k or 2k2 user, they run into the saving bug. And then they call me.
Upgrading to 2k3 makes the calls go away, but it does not solve the problem. We still have corrupted files in circulation. And as soon as someone with older version of Office wants to use them, I will hear about it. Sigh…
Did I mention I hate word? I hate the whole Office suite!