特定パスにフォルダがあるかどうかを確認してVBAの条件式に使いたい


特定パス(ネットワークドライブの\\192.168.1.xxx\tokutei\)の直下に現在の年度(yyyy年度)というフォルダがあるかどうかを確認して処理を進めるVBAを作ろうとしています。
※フォルダが存在しなければ作成して処理、あればそのまま処理
ネットワークドライブであるため個人によって割り当てられているドライブレターはまちまちだと思います。
このような場合、UNC形式でしか目的のフォルダまでのパスはわからないと思いますがどのように対応すれば良いのでしょうか?
ドライブレター全てを使っている人はいないという前提で割り当てがないドライブレターを取得して処理中だけそこに割り当てるという流れも考えましたがどうすればいいのかわからないので、教えてください。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2019/07/10 13:35:05

回答1件)

id:degucho No.1

回答回数281ベストアンサー獲得回数75

net use Z: \\192.168.1.xxx\tokutei\
を実行するバッチファイルを用意しておいてVBA実行前に実行してもらい(仮に)Zドライブを作成して
(バッチファイルを添付してVBAのShell関数で実行しても良いが非同期なので注意)
Dir関数で存在チェックする、というのが一般的な流れかと思います

他1件のコメントを見る
id:degucho

パスを取得する必要がよくわからないのですが
以前似たようなことをしたときは単純に/deleteで削除して再接続していました

2019/07/04 18:20:17
id:keijun5145

パスを取得する必要性:個人によってどのドライブレターでどのパスを利用しているかがわからないので、元の環境を復元する必要があるためです。
/deleteで削除してnet useでつけるだけだと、処理を走らせた後にアクセスできなくなったというクレームが入る可能性があるためです。

2019/07/05 07:41:04

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません