3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(OpenOffice)Calcでファイル保存時に「書き込みエラー」となってしまう Part2

(OpenOffice)Calcでファイル保存時に「書き込みエラー」となってしまう と関連ある内容です。

バージョンはApache OpenOffice3.4.1です。 とあるodsファイルを開いて保存しようとすると以下のエラーが発生しました。

書き込みエラー. ファイルに書き込みできませんでした。

以前書いた記事では範囲が英語だとおかしくなると述べました。
確かにメニューバー[データ]-[範囲の指定]で確認すると、幾つか手動で追加した定義に加え、"Anonymous_Sheet_DB0" という範囲が一番上にあります。 この範囲を選択しても、[範囲]の値はアクティブなセルだったり、直前に選んだ範囲だったりとおかしな値になります。

さて、この"Anonymous_Sheet_DB0"を選択し[削除]ボタンを押下しても変化せず削除できません。
[変更]を押下すると、同名の範囲が新たに作成されるだけです。

"Anonymous_Sheet_DB0"範囲が悪さをしているのは明確なようです。

さて解決した手順ですが、[ファイル]-[再読み込み]を行います。
これで、[範囲の指定]を開くと、一番上にあった"Anonymous_Sheet_DB0"が手動で追加した定義の下に表示されるようになるので、"Anonymous_Sheet_DB0"を選択し削除します。(今度は削除が正常に動作します。)
これで[範囲の指定]ダイアログを[OK}を押下して閉じるわけですが、しばらくフリーズしたかのようにOpenOfficeのウィンドウが固まります。しかし、処理が終われば復帰します。

これで保存できるようになりました。
ただ、設定していたオートフィルタが解除されます。

"Anonymous_Sheet_DB0"はどうやらオートフィルタで指定していた範囲のようです。 本来オートフィルタは[範囲の指定]に出てこないはずなんですが、何らかの原因で破損すると現れるようですね。

なお、上記の手順を行うと問題が発生していた元ファイルを開いても、なぜか"Anonymous_Sheet_DB0"が範囲リストの最下に表示され保存時にエラーで落ちないようになってしまいました。とはいえ、オートフィルタの範囲が破損しているのは確かなので、"Anonymous_Sheet_DB0"は削除したほうが良いです。