日別アーカイブ: 2017年12月5日

C#、ネットワークドライブ存在チェックの不思議

ちょっとメモがてら。

Yドライブをネットワークドライブとして割り当てている。
アドレスを仮に 192.168.100.1 とする。
割り当てられているフォルダは \\192.168.100.1\common ということで。

この時、C#でディレクトリの存在をチェックを行うと、

は Ture

しかし、

は False

ここまではいい。納得。
 
 
そこで次に、前回のエントリでやってみたC#で作ったDLLをExcelから使えるようにしてみたケースで試してみる。

DLLは下記のような単純なコード。

これでExcelのVBAで下記のようにすると True が返ってくる。
Cドライブなので納得。

そして、下記のようにすると・・・

やはり True が返ってくる・・・
(違いはCheckDirectory内の文字が C か Y かだけ)

もちろん、他の未使用のドライブレターで試すとFalseが返ってくる。

Yドライブはネットワークドライブで Directory.Exists(@”Y:\”) ではFalseとなるのに、なぜこの場合はTrueと返ってくるのか・・・

用途としてはこの方が助かりはするけれども。