[リストへもどる]
一括表示

投稿時間:2003/07/24(Thu) 19:58
投稿者名:hamatti
Eメール:
URL :
タイトル:
Dir関数について
初めまして。プログラマ暦2年のhamattiと申します。
今後とも宜しくお願いします。

標記の通り、Dir関数についてお伺いしたいのですが…、
>>>
if Dir("\\System_SV\イメージ",vbDirectory) <> "" then
>>>
上記のようにフォルダが存在するかどうかの確認をDir関数で
行なっています。実際にフォルダは存在するので処理に問題は
無いと思われるのですが、「実行時エラー '52':ファイル名ま
たは番号が不正です。」とエラーメッセージが返ってきます。

ちなみに、
>>>
if Dir("\\System_SV\イメージ\abc",vbDirectory) <> "" then
>>>
上記のように階層を深く指示すると、エラーメッセージは帰って
きません。やはり、階層による問題なのでしょうか…?

ご教授頂ければ幸いです。
ちなみに情報が少ないのですが、環境としては…
クライアント:Windows2000(SP4)+VB6.0(SP5)
サーバ   :WindowsXP Professional(?)

投稿時間:2003/07/24(Thu) 20:44
投稿者名:NAO★
Eメール:
URL :
タイトル:
Re: Dir関数について
> if Dir("\\System_SV\イメージ",vbDirectory) <> "" then

確かに共有フォルダ名だと出来ないですね。
でもGetAttrだとフォルダとして 16 が返ってきますので、
存在チェックだけなら、そちら使えば回避できます。

> if Dir("\\System_SV\イメージ\abc",vbDirectory) <> "" then
> >>>
> 上記のように階層を深く指示すると、エラーメッセージは帰って
> きません。やはり、階層による問題なのでしょうか…?

多分共有フォルダの\\System_SV\イメージだけだと
\\System_SVというコンピュータ名をフォルダとみなして、
その中のディレクトリを調べようとするのでエラーになるのでは?
"\\System_SV\イメージ\" というふうに最後に\をつけるとイメージフォルダ内の
ディレクトリを取り出しますので。

投稿時間:2003/07/29(Tue) 10:35
投稿者名:hamatti
Eメール:
URL :
タイトル:
Re^2: Dir関数について
返信が遅くなり申し訳ありませんでした。

ネットワーク上の共有フォルダ名をDir関数で認識出来ないのは盲点でした…。

有難う御座いました。勉強になりました。
NAO★さんの助言の通り、GetAttr関数を使えばうまく行きそうです。

本当に有難う御座いました。(あとの仕事は御客様に謝罪のTELするのみ…^^;)