エクセル2007以降で自動計算が数式の設定をしているのにも関わらずファイル起動時の自動計算が行われない時の対応方法について備忘録です。
※この作業は自己責任で行ってください。エクセルが壊れても当方で責任は取れません。
※ちゃんとコピーをとって実施してください。
①先ずはエクセルの拡張子をzipにします。
ファイル名の拡張子部分をzipに変更します。
対象ファイルをクリックしたらキーボードのF2を押すことでリネーム作業が行えます。
zipに変更したら解凍してください。
Excel2007以降はエクセルファイルの本体がすべてXMLで構成されています。
セルの値や罫線、関数まですべてXMLで表現されています。
このXMLを直に編集して修正します。
②xmlファイルを取り出します。
解凍したらxl → worksheetフォルダと遷移します。
worksheetフォルダ内にあるのがシートを表現しているXMLファイルです。
もちろんシートが複数ある場合は複数のXMLファイルが存在し、sheet連番.xmlというファイル名になっています。
このXMLの中を直接編集します。
その他のファイルやフォルダに興味があるかもしれませんが基本的に弄らないようにしてください。
③中身に情報を追加します。
XMLを何でもいいのでEditorで開きます。秀丸、sakuraあたりがお勧めです。
次に「</sheetData>」で検索します。
シートの情報量が多いとXMLの記述が多いため検索に多少時間がかかります。
「</sheetData>」が見つかったら直後に下記のタグを追加します。
<sheetCalcPr fullCalcOnLoad=”true” />
追加する場所を間違えるとパースエラーになってエクセルが開けなくなってしまうので注意してください。
シートが複数ある場合、xlフォルダ内にXMLファイルがシート数分ありますのですべてのXMLに対して上記の対応を行う必要があります。
④xmlを元に戻して再構築します。
③で編集したXMLファイルを②の場所に戻し下さい。
上書きでかまいません。
その後、ファイルの再構築を行います。
再構築といってもzipに圧縮して拡張子をxlsxに戻すだけです。
さて、作業が完了したらファイルを開いてみましょう。
うまく編集できていれば再計算が行われるようになっているはずです。
もし、ファイルを開くときに修復を促されるメッセージが出た場合は③の編集にミスがあった可能性があります。
再度確認する必要がありますが、確認してわからない場合はおとなしく削除してもう一度元ファイルをコピーしてやり直すことをお勧めします。
コメント