With the I Ching

易経や四柱推命、暦、占星術などの運命学の記事がメインです。

数秘術のソフト、再修正しました

2011-05-14 13:28:59 | 数秘術
苦心の末、今日、Excel2000と2003でも動作するようになりました。

「CIの保管庫」内「数秘術」のページにて。

※もしまだエラーが出るという方は、PC環境を含め、ご報告して頂けると助かります。



~~~以下、解決に至るまでの話~~~


どういう理由か分からなかったんですが、数秘術のファイルだけ「非表示モジュール内の×××でコンパイルエラー」が出てしまい、使えない場合がありました。

それも作成している僕のPC環境では問題なくても、他のPCではダメという不可解な状況。
その中には僕と同じバージョンのWindowsやExcelを使っている人も含まれており、自分としては「なぜ??」という状態でした。

で、昨日もそのことでエラー報告を受けたため、「いい加減直したい」と思って色々と検索して調べてみました。で、あちこち巡って辿り着いたのは「油断ならない[RefEdit]」というページでした。

そこには、VBAのユーザーフォームのコントロールにある「Ref Edit Control」というものが、異なったバージョンのExcel間で互換性がないためにエラーになる、という記述がありました。

そんなものを使った覚えはなかったのですが、今朝、WinMEのExcel2000で数秘術のVBEを開いて「ツール-参照設定」調べてみると「Ref Edit Control」が参照不可になっていました(Excel2003と2007とが入っている別のPCでは参照不可ではなかった)。で、この機能を解除しただけで、一切コードの変更なしに正常に動作するようになりました。

ちょっと唖然・・・

(「Ref Edit Control」にチェックが入っていた理由は不明ですが、もしかしたらユーザーフォームの作成中に「なんだこれ?」と思ってボタンを押してしまい、そのままにしていたのかも。)

このRef Edit Controlなるものが各バージョンのExcelで定義ファイルのある場所が異なるために、参照不可のエラーになるんだそうです。

これは、Excel2003と2007を併用している僕のようなPCで起きる現象だそうで、Excel2007以外を単独で使ってソフトを作っている限りは問題ないとのこと。

というか、Excel2007以外で作成したソフトでRef Editが使われているものを、Excel2007の互換表示で開いて保存してしまうと、最後にインストールしたバージョンのRefEdit.dllがあるファイルパスに書き換えられてしまうのが原因らしいです。

このページを見つけるまでは、あれこれエラー回避の方法を考えてはコードを変えてみるもダメだーという連続でした。だから、今は解決できて嬉しいと共にホッとしています。良かったぁ

結局、Excel2007のファイルでも、この「Ref Edit Control」のチェックを外しても問題なく動いたので、一体、なんでここにチェックが入ってたんだろう? と今もって謎はありますが。


コメントを投稿