デスクトップやマイドキュメントに保存してあるエクセルファイルを
ダブルクリックすると、エクセルが起動してそのファイルが開く。
ところが、ある日突然それが開かなくなってしまった。
具体的には、エクセルが起動するところまでは行くんだけれども、そのあと
エラーメッセージが出るという症状。同じファイルでも、エクセルを起動
して、メニューのファイル→開くから指定すれば普通に開く。

なんでやっ?

調べてみた。
この症状の原因として多いのは以下の2つ。(どちらが原因になっているかは
エラーメッセージの内容で判別できるそうだ)
1)エクセルの設定によりDDEが無視されるようになってしまった
2)レジストリが書き換わってしまった

エラーメッセージが
「ファイル'C:\・・・・・\○○○.xls'(またはその構成ファイル)が見つかりません。
パスおよびファイル名が正しいか・・・・」
という場合は、たいてい1)が原因になっている。
DDEとはDynamic Data Exchangeのことで、Windowsのアプリケーション同士でデータや
コマンドのやり取りをする方法の一つ。
エクセルファイルのアイコンをダブルクリックして開くというのは、実はエクスプローラ
というアプリケーションからエクセルというアプリケーションに対して「○○○.xls」という
ファイルを開いてちょうだいという依頼をしていることになる。
普通はこの依頼をエクセルは素直に受け入れファイルを開いて見せるのだが、以下の
設定をすると、受け入れず無視するという態度にでることになる。

メニューのツール→オプション→全般タブの [他のアプリケーションを無視する] をオン
にする。つまりここでいう他のアプリケーションはエクスプローラで、そいつを無視する
という設定。

なので、解決策は簡単。この項目をオフにすること、すなわち他のアプリケーションを
無視しないようにする。

一方
エラーメッセージが
「'C:\・・・・・\○○○.xls'が見つかりません。ファイル名およびファイルの保存場所
が正しいかどうか確認してください。[ファイル]メニューの最新使用したファイルの一覧から・・・」
という場合は2)が原因となっているケースが多い。
解決には書き換わってしまったレジストリを元に戻す必要があるのだが、レジストリを
いじるのは非常に危険なので注意してやろう。(あくまで自己責任で)

スタートメニューの「ファイル名を指定して実行」の名前欄にregeditと入力して[OK]
レジストリエディタが開くので、
HKEY_CLASSES_ROOT\Excel.Sheet.8\Shell\Open\command
"(標準)" をダブルクリック。
[値のデータ] ボックスで、最後の "%1" を削除し [OK] をクリック。

修正前 : "C:\Program Files\Microsoft Office\Office\excel.exe" /e %1
修正後 : "C:\Program Files\Microsoft Office\Office\excel.exe" /e

環境によってドライブ・パス等は違う場合あり。