2012-01-19 13 views
0

私のチームと私はこのワークブックをネットワークドライブ上で共有しています。このワークブックでは、カスタム機能に必要ないくつかのカスタムアドインを使用しています。これらのアドインは、カスタムVBAコードによって自動的にインストールされます。これはユーザーの操作なしで追加したものです。同じブックの異なる読み取り専用インスタンス間でExcel VBA共有アドイン

Run-time error 1004 Unable to copy add-in to library. 

Application.AddIns.add(<addin_name>) 
を実行しようとしたときにエラーが発生します。他のチームメンバーは、アドインをロードしようとしている問題を抱えている、彼らはこのエラーを取得する - 唯一私がアドインを使用することができているようです

アドインはWindowsネットワーク共有上にのみ存在します。私は、ローカルドライブ上のaddinsフォルダにアドインをコピーするためのプロンプトを無視するコードを書いています。なぜなら、これは起こりたくないからです。これは非常に厄介な問題です。なぜなら、自分自身で完全にデバッグすることはできないからです。チームメンバーの協力が必要です。大変感謝していただきありがとうございます

+0

私は、一人でローカルコピーを必要とするので、一度にアドインを読み込むことができる人がいることは間違いないと思いますか?その場合、複数のユーザーが同じ場所から開くことができるように、アドインを読み取り専用で読み込むことはできますか?または、ローカルコピーが唯一の解決策である場合、ワークブックをロードするたびにローカルコピーを更新する方法はありますか? – Wes

+0

簡単な質問をして怒ってはいけませんが、アドインのコードをこの特定のブックにコピーするだけではどうですか?アドインは、通常、Excelのインスタンスを開くときに開くため、ローカルユーザーのマシンにインストールする必要があります(私の推測は、アドインを設計したもので、マシンのバックグラウンドで既に実行されています)。アドインが複数のファイルにまたがって使用されるように設計されている場合は、マルチユーザー共有ファイルとは異なる配布方法を検討することをお勧めします。 – Michael

+0

問題はない、私はそれを言及すべきだった。基本的に、Excelは、同じワークブックで同時に作業している人にとっては、貧弱なサポートをしています。これを回避するには、各チームメンバーにブック内のワークシートが割り当てられ、リモートワークブックを使用してこのワークシートの変更をコミットするだけです(数秒かかる)。これらのリモートワークブックはすべて非常に似たコードを共有しているため、そのためのアドインがあります。さらに、このプロジェクトのバリエーションを必要とする他のチームも存在するため、ブック自体にアドインが必要です。次に、プライマリブックとリモートブックの両方で共有されるアドインがあります。 – Wes

答えて

4

Addins.Addを使用するのではなく、ネットワークドライブから読み込み専用のXLAを開くことをお勧めします(もちろんこれはもちろんです)。XLAを開くとExcelセッションで利用できるようになりますaddinsコレクションに含まれていないaddinとして機能します。

+2

はい、そうです。共有アドインは、ファイルに設定された読み取り専用フラグとともに、共有に保存されます。アドインを必要とするExcelブックには、VBAエディタの[ツール] - [参照]から設定した参照のみがあります。一度保存しても、それは維持されます。負荷をかけたり、存在を確認する必要はありません。また、読み取り専用フラグは、他のPCに読み込まれている間にデバッグやアドインの変更を可能にします(Excelを再起動するまで、変更内容は表示されません)。 – GSerg

+0

ああ、私はそれが簡単だったのか分からなかった。シンプルでエレガント。私はすべてがExcelのアドインAPIを経由しなければならないと信じられた。私は1つ、ありがとう! – Wes

関連する問題