5

これが私の問題です。よく使用されるメソッドと関数で構成される VBA クラス モジュールを作成しました。私は継続的にモジュールを改良し、それに変更を加えています。

問題は、ほとんどすべての VBA プロジェクトにこのモジュールを含めており、変更が行われるたびに新しいモジュールを各プロジェクトにインポートし続けたくないということです。

私の質問: すべてのプロジェクトがリンクする DLL を作成することは理にかなっていますか? または、より理にかなった代替ソリューションはありますか?

ありがとう

4

1 に答える 1

4

DLL を作成する場合 (これは完全に理にかなっていると思います)、VB.NET や C# などの .NET フレームワーク上に構築された言語で作成することをお勧めします。これにより、32 ビットと 64 ビットの両方のバージョンをビルドすることで、32 ビットと 64 ビットの問題に対処することができます。

Office 32 ビットを搭載した Windows 64 ビットで実行されている 32 ビット DLL は問題なく機能することに注意してください。心配する必要があるのは、ユーザーが Office 64 ビットを実行している場合です。

展開に関しては、(たとえば NSIS を使用して) インストーラーを作成するのに少し余分な時間を費やして、展開をより簡単にすることができます。このインストーラーは、ターゲット マシンに DLL を登録する目的で使用されます。また、ユーザーの構成に関係なく、DLL に互換性があることを保証するために、インストーラーに DLL の 32 ビット バージョンと 64 ビット バージョンの両方をインストールさせることもできます。ユーザーが Windows 64 ビット/Office 32 ビット環境を使用していて、Office バージョンを 64 ビットにアップグレードすることを決定するシナリオを回避するために、両方のビット バージョンを登録するという考えが気に入っています。64 ビット バージョンが既にインストールされている場合、DLL への参照は正しく解決されます。

于 2013-02-19T19:15:12.237 に答える