4

私は、社内の多くの部門をサポートするために、基本的にフルタイムで Visual Basic マクロを作成する立場にあります。私はかなりうまくやったし、かなり学んだし、自分のポジションをかなり楽しんでいる。

私たちは将来の計画を立てています。私はこれらのプロジェクトに必要な情報を検索するのは得意ですが (スタック オーバーフローはその点で優れたリソースでした)、私がこれまでに得た情報が枯渇してきました。ちょっとやってみた。

これが土地の配置です。社内の誰もがアクセスできるネットワーク ドライブを介して、さまざまなプログラムに添付されたマクロを配布します。これらのマクロは、当社が使用する独自のシステムとも連携し、自動化します。そのため、そのシステムにわずかな変更が加えられると、最新の状態を維持するために多数のマクロに変更を加える必要があります。

そのため、独自のシステムと対話するためのメソッドの DLL を作成したいと考えています。その DLL をネットワーク ドライブに配置し、そこにすべてのマクロの参照を設定します。残念ながら、少なくとも現時点では、ビジュアル スタジオにアクセスできません。開発環境に関する限り、アクセスできるのは Office にパッケージされている Visual Basic 6.5 だけです。私たちはさらに多くを獲得することに取り組んでいますが、大企業で働いている人なら誰でもそれがどうなるか知っています.

そのため、ビジュアル ベーシック エディターを使用して DLL を作成できるかどうか、また、多数のマクロが同時にアクセスする可能性がある場合に問題が発生する可能性があるかどうかを知りたいです。

あなたが提供できるかもしれない助けやアドバイスを前もって感謝します.

4

2 に答える 2

1

Office 2007 製品を使用していると仮定します。VBA はスクリプト言語であり、これを使用してマクロを作成します。DLL はコンパイルされたアセンブリです。VBA エディタでは DLL を作成できません。

Visual Basic (Visual Basic for Applications ではない) を使用して DLL を作成し、それらをマクロで参照することができます。

この投稿で説明したように、.NET を使用してアンマネージ エクスポート ライブラリを作成し、それをマクロで参照することもできます。必須ではありませんが、Visual Studio を使用して DLL をビルドすることをお勧めします。

明白なことを述べておきます -マクロを維持するよりも、.NET アプリケーション (または Java またはよりエンタープライズなもの) の構築に投資してみませんか? 独自のシステムが変更されたときに、アプリケーションがそのパラメーターもインテリジェントに変更するように、柔軟な構成を構築できる場合があります。これには時間がかかる場合がありますが、マクロによるメンテナンスが軽減されます。

選択の余地がない可能性があります。その場合、多くのマクロではなく、1 つまたは 2 つのみ変更する必要があるように、マクロを分割することをお勧めします。依存関係を適切に減らし、変更されやすいすべてのマクロを 1 つの場所にまとめることができます。繰り返しますが、それは実現不可能かもしれません。その場合、すべてのマクロを取得して Web サービスに結合し (Visual Studio/.NET が利用できない場合は、オープン ソースの PHP/Python などを使用できます)、オフィス製品を変更して Web サービスを呼び出すようにします。Excel での Web サービスの呼び出しに関する投稿は、こちらです。

于 2013-09-08T17:32:40.817 に答える
0

VBA で DLL を構築することはできませんが、共有マクロを使用して Excel アドイン (.xla) を構築し、ネットワーク ドライブに保存することはできます。

于 2013-09-08T18:23:48.753 に答える