EXCELファイルの解析

EXCELファイルを直接に自分でアクセスしてVBAソースを取り出したい。
どうしてかと言うと、何かのトラブルでEXCELが開かなくなってしまったからです。
何か壊れているらしく、回復を試みた、として画面に表示したのは、ごくごく単純な文字列のデータのみ。
数式によるものはセルそのものがブランク、項目見出しなんかもセル表示の体裁を指定しているからか回復されない。
VBAはまったく無い。
これでは回復と言っても役に立たない。

では、そのデータは無いのか?
特にVBAソースはどうなのか、ファイルをバイナリエディタで見ると、何かそれらしい部分も見受けられるので、全く無いのでもないようだし、ファイルフォーマットがわかれば、自分で復元できるのではないかと思うのである。

しかし、ファイルデータの格納の仕方が皆目わからないときてる。
情報もない。

と思いながらネットを探してみたら、有力な情報が見つかった。
フォーマット仕様が公開されているのだ。(数年前からマイクロソフトも公開に踏み切ったようである)

そしてその資料を見てみた。
が、理解が難しい。
英語であることが難点のひとつであるが、それにしても難しい。
資料もいくつか、EXCELに関するもの、VBAに関するもの、ファイルフォーマットに関するもの、いろいろあるのだが、どうも難しい。
実際のファイルをバイナリエディタで見ながら突き合わせして理解しようとするが、合うところもあれば、合わないところもあり、見当違いのところを見ているのか、資料の理解が間違っているのか、それさえわからなくて、そうなると先には進めなくなってしまう。
何時間も続けていると嫌になってしまうし、あきらめたようにやめて、そしてまた気を取り直してまた見ると、少しだけわかるところも出てきて少しやる気になるのだが、すぐに壁に当たって進めなくなる。
まあ、英語の勉強を兼ねていると思い、気持ちを支えて努めている。


壊れて見れなくなったEXCELファイルには、苦労してやっと完成に近づけたVBAがあるのです。
古い版のファイルはバックアップから回復しているのだが、この新しくしたVBAをもう一度作るのに気持ちの負担が大きいのです。
一度作ったのだから、もう一度やれば出来ると思うが、同じように出来るかどうかわからない。逆に前よりいいものが出来る可能性もある。事実、一部の処理については、再度作り直していて、前よりも改良を加えながら完成させることが出来てもいる。
しかし、さらに大きな処理があって、これは真剣にやっても1日2日かかるような代物で、ちょっとでは取り掛かる気にならないのです。
でも、もう一度やるしかないのが現実ではあるけれど、だけど、EXCELから見ると「壊れている」とは言うものの、実際にそこに作った物があるのだ。
これを機会にEXCELファイルの中身を理解できるようになるのも副産物となれば幸いかとも思うのである。
これまではマイクロソフトの作っているソフトの中身がわからないので、「壊れたと」言われるとどうしようもなかったのである。完全な回復は難しいとしても、真剣にやればもっと救済可能だとも思うのだが。なんかくやしい気持ちもありなのだ。

もう少し、努力を続けてみる。