2011-12-28 12 views
0

私はチームで働いているプロジェクトで作業しています。 Excel 2003のスプレッドシートはNT NFS上にあるため、すべて使用できます。私はXLAが好きですが、彼らについての厄介なことは、彼らはワークブックに依存していないようです。 1つのためにそれをインストールすると、残りのためにそれをインストールし、逆も同様です。コンパイル時に他の言語を使用すると、特定のソースファイルのライブラリを簡単にリンクすることができます。ExcelでカスタムVBAライブラリを作成/使用する

私は、ワークブックに依存するExcel VBAカスタムライブラリを持つことができますか?ありがとう

+0

VBAの美しさは、コードがExcelドキュメント自体に結びついていることです。アドインが必要なのは何ですか?アドインを使用するとメンテナンスが増え、すべてのワークブックに同じように適用するコードが必要な場合には一般的に使用されます。 – Fink

+0

* .basファイルとしてエクスポートおよびインポートできるモジュールを除きます。それが "ブック依存のExcel VBAカスタムライブラリ"の要件を満たしていない場合は、なぜそうしないのかを明確にしてください。 –

答えて

0

私が行った解決策は、どのブックを開くかによってアドインの読み込みと読み込みを行うための独自のカスタムコードを作成することでした。これは苦痛でしたが、私が望む機能を完璧に達成しました。誰もが共有できるように、それらをNFSに置き、読み取り専用にしました。私が図書館を変更したいとき、私は図書館を簡単に書くために開きます。

1

私はこの目的のためにCustomDocumentPropertiesを使用します。アドインにはすべてのコードが含まれており、「テンプレート」は作業するドキュメントです。テンプレートで、 "MyApp"という名前のCustomDocumentPropertyを作成します。アドインでは、アプリケーションレベルのイベントを使用して、workbook_open呼び出しを監視します。その場合、開いているブックにアプリケーションのCustomDocumentPropertyが含まれているかどうかを確認します。表示されている場合は、アドインのUIを公開します(メニューを表示させるなど)。

は、私がWindow_Activateイベントを使用している例でもhttp://www.dailydoseofexcel.com/archives/2004/07/16/custom-document-properties/

を参照してください。正しい種類のブックがアクティブになっている場合、私はカスタムツールバーを表示します。それが非アクティブ化されている場合、私はそれを隠す。

+0

私が言っておくべきことを文書に書いたとき、この文書は単なるマスターファイルです。各チームメンバーは、リモートから外部のExcelドキュメントに変更を加え、これらの変更をリモートで「参照」していたファイルであるマスターファイルに「コミット」します。これは、シェイプの変更をマージする機能が必要であり、ワークブックの共有はこれを行わず、一度に1人のユーザーしかドキュメントへの書き込みアクセス権を持たないためです。とにかくこれらの開発領域はすべて同じVBAコードを共有しており、変更が1つになるたびに他のものに変更する必要があります。 – Wes

+0

.basファイルに変更が加えられるたびに、リモートの各Excelドキュメントごとに手動で再インポートする必要があるため、インポート/エクスポートモジュールは機能しません。アドインはこれを解決します。なぜなら、1回の場所を一度変更するだけで済むからです。 – Wes

+0

Dickに応えて、私はあなたが少し助けてくれたと思っているので、あなたが提案したものを悪用しよう。しかし、基本的な問題はまだ残っています。エクセルワークブックが開いていて、そのうちの1つだけがアドインを使用している場合、そのアドインをすべてインストールしておかないと、どれか1つだけです。たぶん私はちょうどニックピッキングしています。 – Wes

関連する問題