OutlookExpressの最適化が失敗したとき

OutlookExpressはときどき最適化に失敗する。発生する契機が不明だが、どれかのdbxファイルが数十MB以上のサイズになると発生すると思われる。現象としては、特定のメール内フォルダが見えなくなったり、メール内フォルダにあるメールが消えてしまったりする。つまり不定期にポップアップしてくる「最適化しますか」ダイアログの「はい」ボタンを押したばっかりに過去のメールが突然見れなくなって困ることがある。頻繁に自分でバックアップをとっている人は問題ないのだが、多くの人はそんなことはしていないと思うので、そのときの対処方法を書いておく。手順の概要としては、Outlookが最適化時に自動的に作るバックアップファイルを元に戻すというだけのものだ。(…と言っただけでわかる人は下記の手順を読む必要はない)
尚、この方法は自分がトライ&エラーで見つけたものなので、成功は保証しない。ウィルス対策ソフトやファイル検索用ソフトが動いているとうまくいかないので、終了させてから行う。下記の手順を行う上で再起動の必要はない。紛らわしいのだが、説明の中にWindows上のメール保存フォルダとOutlookExpress内のフォルダの両方があるので気をつけてほしい。

1、OutlookExpressは最適化のときに*.bakというバックアップファイルを生成し、最適化が終了するとゴミ箱の中に移す。これはdbxファイルのバックアップなので、ゴミ箱の「元に戻す」でWindows上のメールの保存フォルダに全部戻す。
2、戻したファイルは手順をミスったときのために全部コピーしてどこかにコピーし、予備として保存しておく。
3、OutlookExpressを終了させる。
4、OutlookExpress内のフォルダ構成が壊れていると思うので、まずはWindows上のメールの保存フォルダのすべてのdbxファイルをコピーして予備として保存
5、Windows上のメールの保存フォルダのすべてのdbxファイルを消す。
6、OutlookExpressを起動する。(このときにいくつかのファイルは自動的に生成される)
7、Windows上のメール保存フォルダのバックアップファイル名(.拡張子以外の部分)と同じ名前のOutlookExpress内フォルダを作る。たとえば「昔のメール.bak」というファイルがあるのなら「昔のメール」というOutlookExpress内フォルダを作り、メール一覧表示のカレントをそのフォルダに移行する。(=そのフォルダの中身を表示させる。もちろん空になっているはずだ)この作業をすべてのbakファイルに対して行う。「受信トレイ.dbx」などはOutlookExpressの起動時にはすでに作られているはずなので、この作業を行う必要はない。
8、新しいメール内フォルダを表示するときにOutlookExpressは同名のdbxファイルを生成する。例では「昔のメール.dbx」ファイルがWindows上のメール保存用フォルダに保存される。つまりWindows上のメール保存用フォルダには「昔のメール.bak」と「昔のメール.dbx」が存在する状態となる。
9、OutlookExpressを終了させる。
10、新しく生成されたdbxファイルを消去し、bakファイルの拡張子をdbxに変更する。例では「昔のメール.dbx」を消去し、「昔のメール.bak」を「昔のメール.dbx」に書き換える。これをFolders.dbxとOffline.dbx以外の全てのbakファイルに対して行う。
11、OutlookExpressを起動する。

以前の環境に戻っているはずだ。最適化が発生しても壊れないようにいらないメールなどを消して全体のファイル容量を小さくする。フォルダ数が多いと最適化が失敗した場合の手間が増えるので、いらないフォルダも消したほうがいい。順調に稼動しはじめたら予備ファイルは不要なので消去する。