July 30th, 2008

When I double-click an Excel spreadsheet, Excel opens but the document doesn’t

Sometime last year, we got a report from a customer that whenever he double-clicks an Excel spreadsheet, Excel starts up, but the document isn’t loaded. Instead, he gets an error message saying that document could not be found. He has to go to the Open dialog and open the spreadsheet manually. This report was routed to the shell team, since it appeared to be an Explorer problem.

We studied the file type registration for Excel documents; those were fine. We suggested some breakpoints, but everything looked good there, too. Even ddespy reported that the “Open” command was being sent to Excel correctly. So far as the shell was concerned, it was sending the command that Excel registered as the “Please send me this command when you want to open a document,” and yet when Explorer sent that very command, Excel responded with “Huh? What are you talking about?”

This indicated that an investigation of Excel itself was in order, and an hour later, the problem was identified. Under Excel Options, Advanced, General, there is an option called “Ignore other applications that use Dynamic Data Exchange”, and the customer had enabled this option. The consequences of enabling this option are described in Knowledge Base article Q211494: Since Excel was configured to ignore DDE requests, it ignored the DDE request that came from Explorer.

A misconfigured copy of Excel resulted in an error message that by all indications looked like an Explorer bug. That’s pretty much par for the course in Explorer-ville.

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.