アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB初心者の者です。
ネットワーク上にある共有フォルダ有無をチェックするプログラムを作ろうとしています。

If Dir$("\\パソコン名\共有フォルダ名", vbDirectory) <> "" Then
   '共有フォルダが確認できた時の処理(A)
Else
   '共有フォルダが確認できなかった時の処理(B)
End If

上記プログラムを実行したところ、ErrorNo.52 「ファイル名または番号が不正です」というエラーで落ちてしまいます。
A、Bのどちらにも入ってきません。

「パソコン名\共有フォルダ名」は、エクスプローラ上から見えています(Pingも通ります)。
ネットワークドライブを割り当てる方法もあるのですが、事情によりその方法はNGなため、「\\パソコン名\共有フォルダ名」で何とかできないか模索中です。

参照先PCの設定で、接続を許可するユーザーの設定のようなものがあるのでしょうか。
解決策をご存知の方がいらっしゃいましたら、ご教示お願いします(アドバイス等何でも結構です)。
環境は、参照先・元のPC共にWindows2000(SP4)、言語はVB6(SP6)、会社内のLANにて実行しています。

よろしくお願いいたします。

A 回答 (1件)

せっかく 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
    • good
    • 3
この回答へのお礼

返事が遅れて申し訳ありません。
temtecomai2さんのおっしゃる通りにやってみたら、できました!!
助かりました。
ありがとうございました。

お礼日時:2006/02/20 10:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A