壊れた Word ファイルをサルベージする方法

以下のスクリプトを使用すると、テキスト形式に変換可能な場合がある

Const wdFormatText = 2

sFileName = WScript.Arguments(0)

Set oDoc = GetObject(sFileName)
oDoc.SaveAs sFileName & ".txt", wdFormatText
oDoc.Close
Set oDoc = Nothing

これを、

cscript Word2Text.vbs broken.doc

って感じで実行すると、変換結果が broken.doc.txt に保存される。
変更前のバージョンが残っていれば、diff などを併用して復元に使うことができる。手間はかかるけど。