苦心の末、今日、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」のチェックを外しても問題なく動いたので、一体、なんでここにチェックが入ってたんだろう? と今もって謎はありますが。
「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」のチェックを外しても問題なく動いたので、一体、なんでここにチェックが入ってたんだろう? と今もって謎はありますが。
※コメント投稿者のブログIDはブログ作成者のみに通知されます