質問: vb6にてネットワーク上にある共有フォルダを・・・ vb初心者の者です。 ネットワーク上にある共有フォルダ有無をチェックするプログラムを作ろうとしています。 if dir$("\\パソコン名\共有フォルダ名", vbdirectory) <> "" then '共有フォルダが確認できた時の処理(a) else '共有フォルダが確認できなかった時の処理(b) end if 上記プログラムを実行したところ、errorno.52 「ファイル名または番号が不正です」というエラーで落ちてしまいます。 a、bのどちらにも入ってきません。 「パソコン名\共有フォルダ名」は、エクスプローラ上から見えています(pingも通ります)。 ネットワークドライブを割り当てる方法もあるのですが、事情によりその方法はngなため、「\\パソコン名\共有フォルダ名」で何とかできないか模索中です。 参照先pcの設定で、接続を許可するユーザーの設定のようなものがあるのでしょうか。 解決策をご存知の方がいらっしゃいましたら、ご教示お願いします(アドバイス等何でも結構です)。 環境は、参照先・元のpc共にwindows2000(sp4)、言語はvb6(sp6)、会社内のlanにて実行しています。 よろしくお願いいたします。
回答: せっかく vb6 なんだから dir とか古くて貧弱な関数じゃなくて、filesystemobject を使ったらどうでしょうか? private sub hoge() on error errorproc dim fso as new scripting.filesystemobject if fso.folderexists("\\servername\sharename") then ' 存在した場合の処理 else ' 存在しなかった場合の処理 end if exitproc: exit sub errorproc: ' エラーだった場合の処理 resume exitproc end sub