要約
苦労して作ったExcelが「file format or file extension is not valid」と怒られて開かない。
ExcelのOpen-Repairというのを使ったが治らない。
Libre OfficeのCalcで開いて再保存するとなんか治った。
以下余談
暇で暇でしょうがない人だけ読んでください。
昨日苦労して作ったExcelファイルを今日開こうとするとエラーになった。
以下のメッセージが出る。
フォーマットか拡張子が間違っているのでファイルが開けない。
壊れていないか確認するか(それが分かったら苦労しねーっつーの)拡張子がファイルとあっているか確認しろと言う。
いちおう変わったことはしていて、aaa.xlsmというマクロ可能ブックで作業した後にマクロを無効にするために納品時にxlsxに保存している。同じソリューションを過去に数回適用しているが、それで怒られたことはなかった。
Excelファイルを無理やりエディターに突っ込むと先頭がPKとなっている。
このような文字列をマジックナンバーと総称し、PKはzipファイルのマジックナンバーだ。
拡張子をzipにして解凍してみると、OpenDocという規格に対応した構造になっている。
だからと言ってぼくは何も分からないのでそっと閉じた。
Microsoft公式に当たると、ファイルを開くダイアログのOpenボタンが実はドロップダウンボタンになっていて、RepairとかExtract Dataとか色々選べるようになっているから試してみろと言う。
いろいろ試してみたがそれも最初のメッセージが出て終わり。
万事休す!と思ったが、MS Office互換のOSSであるLibre OfficeのCalcを使ってみるとなんか開いた。
LibreOfficeは以下からダウンロードできる。
https://www.libreoffice.org/
マクロが無効になっていますが無効のままにしますか、と言われるのでハイ、と答える。
消したつもりのマクロを起動するフォームボタンが残っているので消す。
この辺はExcelで開けない現象と関係あるのかないのか分からない。
(ひどくてゴメン)
Alt+F11を押してマクロエディターを開くとマクロモジュールがあった。
消す。
別名を付けて保存する。
拡張子はxlsxのママ。
果たしてExcelでも読めるようになった。
問題の真相は分からないのだが、ぼくに関してはこれでOK牧場。
(この項終わり)