> 以前アクセス2000の社内データベースをWin98上で作りました。 > 新しい端末(WinMe)で稼動試験をしたのですが、 > VBAが動作しないのです。 > VBAが参照しているDLLのバージョンが違ったり、 > 場所が違うのだろうと思うのですが、、、 > 各OSで問題なく動作するようにVBAを書くにはどうしたら > よろしいのでしょうか?
この文章からは、どのように動作しないのか(実行時エラーなのか コンパイルエラーなのか、参照エラーなのか)わかりませんが、 ちゃんと動かすには、「ちゃんとしたセットアップを作る」に 尽きるでしょうね。 必要なものはセットアップで、ちゃんとインストールしてやれば 問題ないはずです。 DLLは大体下位互換を持ってるはずなんで、セットアップが最新の ものを使うようにしてやればいい。 とはいっても、このセットアップを作る設定がややこしいんです がね。(^^; それと、場所は関係ないとおもいますよ。 VBA関連のDLLってレジストリに登録(RegSvr32.exeで登録される やつ)をみて、参照しに行ってるはずなんで。
あと、ソースに環境依存してる部分(パス直打ちとか、 OS依存APIとか、OSの設定に依存とか)をなくすってのは、 当然ですね。
参照設定をやめて、CreateObjectでやれば、取り合えずば 動けるところまでVBAは動くと思いますよ。 (CreateObjectでエラーがでるけど)
|