勤務先では、Windows XPとMicrosoft Office 2003が事務部門を始め一般的に使われているが、開発チーム等ではWindows VistaやMicrosoft Office 2007も併用して利用されている。ここで、ある開発チームのメンツの一人が使っているPCで、面白い問題が起こった。
どういうわけか、このようなダイアログボックスが表示され、Word 2007が異常終了してしまうというのである。「作業ファイルを作成できません。環境変数TEMPの設定を確認してください。」とあるので、さすがに開発チームのメンツである彼女ともなれば、環境変数の設定変更などお手のものである。が、しばらく様子を眺めてみるとお手上げということとなった(苦笑)。なぜなら、環境変数TEMPの設定は誤っていなかったからである。
Word 2007以外にもExcel 2007でも同様の問題は起こっていた。
Word 2007と同じく起動時にダイアログボックスが表示され、「メモリまたはディスクの空き容量が不足しているため、ドキュメントを開いたり、保存したりできません。不用なブックやプログラムを閉じて、メモリの空き容量を増やしてみてください。ディスクに保存されている不要なファイルを削除して、ディスクの空き容量を増やしてみてください。」と促されるのである。ちなみにディスクの空き容量はたっぷりあり、メモリの空き容量はWindows Vistaの場合、仮にゼロであったとしてもSuperFetchで一時的に確保されているに過ぎないので、不足しているはずがない。他にもあれこれ言われているが、素人ユーザならともかく彼女ともなれば、こういうメッセージが出されれば対応のしようもあろうというものである。
数十台同じような構成のPCがありながら、どうしてこのPCだけこのようなメッセージが出るのか。考えられるのは、当該PCを利用している彼女が、何かおかしなことをしたと考えるのが自然だろう。
しかし、最初のうちは身に覚えがないと言うことだった。色々問答していくうちに、TEMPを変えたとすれば、Gavotte RAMディスクを設定したときに、RAMディスクを一時テンポラリファイルの保存先として利用した際、一時的に環境変数を変えたということだった。だが、既にRAMディスクをTEMPには指定しておらず、存在し読み書きできるドライブ及びフォルダがしっかりと指定されていた。念のため、Word 2007の設定も見直してみたが、こちらも問題がなかった。
あと、手動で変えたとすれば、Internet Explorer 7.0のテンポラリファイルの保存先を変えたくらいだというが、設定を見るといわゆるUsersフォルダ以下のデフォルトの位置にあると画面上では表示されていた。だが、ここで彼女は面白いことを言った。「私はIEの設定を変えていません」と。
インターネットオプション内にある、閲覧の履歴の「設定」ボタンを押すと、
「インターネット一時ファイルと履歴の設定」(上画面はダミー用に私が用意したものでデフォルトとは異なる)が表示され、この中の「フォルダの移動」ボタンを押した後、インターネット一時ファイルの保存先フォルダを変更することができるが、それ以外でも変更されてしまう場合がある。それは、Microsoft(Windows)余計なお世話機能の一つ、存在しないもの(しなくなったもの)はデフォルトの設定をユーザに断りなく勝手に設定する、というものである。
彼女が変更したことに身に覚えがないということは、どうやらこれが発動されたに違いないと思いつつ、以前、これとは別に次のような問題があったことを思い出した。「レジストリデータベース内のIEにおけるテンポラリ(キャッシュ)ファイル設定」と「IEのインターネット一時ファイルと履歴の設定に表示される場所」が食い違うケースがある、という問題である。まさか、今回もこれに該当しているのではないか?と思ってレジストリデータベースを「R:\Temporary Internet Files」(RAMディスクとして使っていたときの一時ファイル保存先フォルダ名)をキーワードにして検索してみると、見事にこれがひっかかった。
つまり、ユーザが自主的に「インターネット一時ファイルと履歴の設定」から当該フォルダの場所を変えれば、レジストリデータベースの内容も変更後のフォルダに上書きされるが、何らかの理由で一時ファイルの保存先フォルダが消えてしまった場合、「インターネット一時ファイルと履歴の設定」はデフォルトの設定に戻される。しかし、レジストリデータベースの内容は変更されないまま残されてしまう、というわけである。無論、レジストリデータベースの内容が変更されなくても、Internet Explorer 7.0を使っている限りは、「インターネット一時ファイルと履歴の設定」で現在の場所と示されるフォルダ内に一時ファイルはキャッシュされるが、Microsoft Office 2007のWord 2007やExcel 2007等は、レジストリデータベースの内容(ExplorerのCache設定)を起動時に確認し、それが存在しない(あるいは読み書きできない等)とTEMPが違うだの、メモリやディスクの空き容量がないだのと、まったくあらぬ疑いをかけられてしまうという理屈である。
実際、これは簡単に確認できる。例えば、Internet Explorer 7.0の「インターネット一時ファイルと履歴の設定」より、例えば現在のフォルダをメモリカードを保存先に指定し、自動的にログオフ後、念のためシャットダウンさせ、メモリカードを抜き、再度電源投入してWindows起動後にWord 2007等を実行すればいい。こうすれば、一時ファイルの保存先として指定されたフォルダはなくなり、Internet Explorer 7.0とレジストリデータベース内の設定に矛盾が生ずるようになる。そして、Word 2007やExcel 2007を無事起動できなければテストは成功で、念のため、Internet Explorer 7.0の「インターネット一時ファイルと履歴の設定」の一時ファイルの保存先がデフォルトの状態に戻っていること、レジストリデータベースにメモリカードを保存先とした際のドライブ及びフォルダ名で検索をかければ、しっかりと文字列がExplorerのCache設定に見つかれば検証できた、となる。なお、元に戻すには、もう一度、Internet Explorer 7.0の「インターネット一時ファイルと履歴の設定」からユーザが自ら一時ファイルの保存場所を指定し直せばよい。
それにしても、これは一体どういうことだろうか。よもやOffice 2007が、Internet Explorer 7.0のインターネット一時ファイル保存先フォルダ設定と密接に関連しているなど、およびもつかない問題だろう。逆にInternet Explorer 7.0がインストールされていない環境で、Office 2007はどのように動くのだろうか。単に、レジストリデータベース内のExplorerのCache設定さえ、正しく記載されていればいいのかもしれないが、この設定がInternet Explorer 7.0と連動しているのは驚きである。しかも、エラーメッセージなどからは、まったく想像もつかない解決法である(エラーメッセージは、作るのに苦労する割にはまともに動いてくれない代名詞であるが)。
こんなばかばかしい解決方法とはいえ、一歩間違えれば1インシデントを使う羽目になっていたのだから勘弁してほしい。もっとも、わかった時点でインシデント返せ!と言ってるだろうが(苦笑)。
ありがとうございます。
自分も全く同じ症状でした。
Gavotte RAMディスク使用後おかしくなったので環境変数がおかしいのかな?と思っていました。
IEとOfficeが不思議なところでつながっているんですね。
投稿情報: kitokito | 2008/09/18 22:30
kitokito様、コメントありがとうございます。
Microsoft社つながり、ということなんでしょうが、OfficeもOSに統合されているとみなせば、こういうことは自明であるのでしょう。
何でもかんでも統合して、不当な競争力を高めるのは、十八番ですからね。
投稿情報: XWIN II | 2008/10/05 08:44
ありがとうございます!
こちらの情報で問題が解決いたしました!
問題解決にいたる紆余曲折を私のブログに書きましたので、もし宜しければ訪問してみてください。^^
貴重な情報ありがとうございます!
投稿情報: ナガオ | 2009/03/20 16:23
ナガオ様、コメントありがとうございます。そして、コメント公開が遅れてごめんなさい。深い意味はなく、単にBlog管理画面を見るのが日があいたという理由でございます。
さて、結果的に解決されて何よりでした。PC環境は、極論すれば二つと同じものはなく、様々な理由により不具合が発生し、その原因も直し方も同じように見えても同じでない場合が多いのが現実です。
そういった中で、当方の記事が貴殿のお役に立てて、こちらとしてもよかったです。最近はPC関連の記事よりも地域歴史研究に力が入っておりますが(苦笑)、今後ともよろしくお願いいたします。
投稿情報: XWIN II | 2009/03/23 07:11
通りすがりです。明日までの原稿をWordで書かないといけなくて、土壇場で非常に困っていました。メインのブラウザはIEではないですが、IEも一時ファイルをRAMにしておりました。それを解除したら上手くいきました。
本当に感謝しております。ありがとうございます。
投稿情報: unya | 2009/12/25 21:19
unya様、コメントありがとうございます。
結果的にお役に立ったということでよかったです。通りすがりと言えば、私も他Webに対しては大半がそうですので、こういう形で貢献できただけでもアップした甲斐があったというものです。
投稿情報: XWIN II | 2009/12/28 07:09
非常に困っていた問題が解決できました!
頻繁に使うOfficeだからこそ、この問題は気持ちが悪く、気になっていました。
ありがとうございました!
投稿情報: kenji | 2010/02/25 23:53
kenji様、コメントありがとうございます。
解決できてよかったです。これも聞くところによると2003の頃からそうだったとか…。
次の2010では回避していただきたいものですね。
投稿情報: XWIN II | 2010/02/26 07:34
http://pcorange.jugem.jp/?eid=64経由で飛んできました。
おかげさまで解決しました。
Word2007で保存ができなくなった時期が、BuffaloのRAMディスクユーティティで「IEのキャッシュとして使う」を、これは不要とチェックを外した頃と一致しそうです。
私の場合、少しだけ復旧方法が異なり、IE7のインターネット一時保存場所(C:\Documents and Settings\%USERNAME%\Local Settings\Temporary Internet Files)を再作成して復旧しました。
何故かThinkPadの起動時に出ていたRescue and Recoveryプログラムのメモリエラーも出なくなりました。
ありがとうございました!
投稿情報: うやびん | 2011/04/21 17:22