2

簡単な背景:ネットワーク上の共有ドライブを使用して従業員間で情報を共有する会社のために、Excel マクロを作成しています。

問題:さまざまな従業員が、別々の文字の下にリストされている同じ共有ドライブを持っています。たとえば、スージーはドライブ「Z」として「Commissions Shared Drive」を持っていますが、ベティはそれをドライブ「x」として持っています。

2 人の異なるユーザーが使用するマクロを設計すると、マクロは別のドライブ文字を持っているためにエラーになります。簡単に言えば、コードに記述されたファイルの場所は、ドライブ文字の違いにより、両者にとって正しくありません。

現在の解決策:現在、ドライブ文字の違いを考慮してファイルの場所を変更した、まったく同じマクロのコピーを持っています。一方のファイルに変更を加えるたびに、もう一方のファイルがまったく同じであることを確認する必要があるため、これは面倒です。

質問: 1 つのマクロで異なるドライブ文字を考慮して、異なるアドレスを持つファイルの複製を作成する必要がないようにする方法はありますか?

前もって感謝します!

-マイク

4

2 に答える 2

4

実際のネットワークパスを使用してください。

たとえば、のようなものの代わりに

Z:\filename

使用する

\\servername\foldername\filename

ユーザーがパスにアクセスできる限り、コードはドライブマッピングに関係なくパスを見つけます。

編集:コードでマップされたドライブ文字を使用すべきでないいくつかの大きな理由から、この質問とその回答を表示できます。ちなみに、Excelマクロよりも更新が難しいものを使用している場合は、実際にはパスをコードにまったく保存しないことをお勧めします。代わりに、パスを取得するためにコードが表示するファイルがあります。これにより、あなたが書いたものは、再コンパイルしたり修正したりすることなく、はるかに長く機能します。しかし、繰り返しになりますが、Excelマクロを実行しているだけなので、直接パスを使用しない理由はわかりません。

于 2012-07-17T19:49:55.860 に答える
0

@ダニエル・クック共有ドライブを参照するために使用できる別のパスも見つけました。

共有ドライブを右クリックして [プロパティ] > [DFS] に移動すると (DFS は [プロパティ] ウィンドウのタブです)、機能する別のパスが一覧表示されます。両方のパスをテストするマクロを作成し、両方とも機能しました。

しかし、私の同僚の 1 人は、\servername\foldername\filename のパス メソッドを使用して別の従業員のためにマクロを作成し、何らかの理由で彼女のコンピューターでは機能しなかったと言いましたが、DFS タブにある他の経路を使用したとき共有ドライブのプロパティの下では、彼女にとってはうまくいきました。

\servername\foldername\filename パスがあるコンピューターでは機能し、別のコンピューターでは機能しない理由はありますか?

于 2012-07-18T12:37:11.167 に答える