仮想サーバー上でマクロが動かない

クライアントPCで実行していたAccessファイルを仮想サーバー上に移行し、サーバー上で自動実行させる仕組みを作りました。

意気揚々と自動実行が上手くいったか確認したところ、、

上手くいっていない。。

というか、なにも実行されていない??

Accessの格納されているフォルダを見ていると、「_Backup.mdb」というファイルができていました。

ということは、不具合で何か止まってしまったか!?

Accessで単体実行してみると、レコードセットにデータを格納するプログラム部分で止まっていました。

でも、クライアントPCではうまくいっていたんだけどなあ。。

やったこと

1.セーフモードで起動

とりあえず、セーフモードで起動してみて、実行がうまくいくか試してみます。

 

全然ダメでした。同じ場所で動作を停止しました。と表示されます。。

2.仮想メモリを大きくしてみる

ぜーんぜんダメでした。というか、逆にパフォーマンス悪くなるようなことをしていたと反省。

迷走しています。。

 

3.CPUを増強してみる

仮想サーバー側のCPUを最低スペックにしていたから、動きが悪いんだ!という仮説のもとに保守にお願いし、CPUを増強してみました。

これで解決するだろう。。

実行してみると、、

 

 

全く同じところで止まる!!

これでもだめなのか。。

4.Officeを修復してみる

大体この手のエラーはOfficeを修復すればうまくいくもんな。

と自分に言い聞かせ修復してみました。

再度実行してみると。。。

 

 

またもや上手くいかない!

画面割ったろか!

 

5.社内の有識者に助けを乞うてみる

もうだめ、あきらめモードです。

最後の手段で社内のITの詳しい方に相談してみました。

「マクロを作成したときのOfficeのビット数と今実行しているOfficeソフトウェアのビット数は合ってますか?」

と言われました。

そういえば確認してない。。

 

確認してみると、

マクロを作成しているのは32ビット。仮想サーバーのソフトウェアは64ビットでした。こ、これが原因なのか…?!

 

仮想サーバーのOfficeをアンインストールし、再インストールしてみます。

結果…

 

 

動いた!!!!

 

感謝感謝!さすが、、こんなに少ない情報でよく分かったなあ。。

でもこれでやっと自動実行できる。。

 

まとめ

色々なことを試した結果、

最後はOfficeのビット数というオチでした。

環境を移行する場合、移行前後のソフトウェアのバージョンはよく確認してく必要がありますね。

勉強になりました!

同じことで悩まれている方、ご参考にどうぞ(こんな初歩的なところで悩まないですね笑)