VBA: проверить доступ к папке, находящейся в локальной сети

Автор Илья, 21 августа 2014, 11:14

Илья

Подскажите, как макросом проверить доступ к папке, находящейся в локальной сети?
Этот код выдает ошибку "Run-time error 52". А когда доступ фактически есть, ошибок не выдает.

If Len(Dir("\\00.00.0.000\folder", vbDirectory)) = 0 Then MsgBox "нет доступа"

Администратор

Макрос
Sub Макрос()
   
    Dim res As String
   
    ' Включение перехватчика ошибок. Если в какой-то строке кода возникнет ошибка,
        'т о макрос перейдёт к следующей строке кода, а не остановится с выдачей сообщения об ошибке.
    On Error Resume Next
   
    ' Запуск функции 'Dir'.
    res = Dir("\\00.00.0.000\folder", vbDirectory)
   
    ' Если будет ошибка, то в объекте "Err" будет число, не равное нулю.
    If Err.Number <> 0 Then
        MsgBox "Удалённый компьютер выключен.", vbExclamation
    ' Если ошибки нет, а в переменной 'res' пусто, значит папка не существует.
    ElseIf res = "" Then
        MsgBox "Папка не существует.", vbExclamation
    ' В оставшемся случае папка существует и к ней есть доступ.
    Else
        MsgBox "Папка существует и к ней есть доступ.", vbInformation
    End If
   
    ' Отключение перехватчика ошибок, чтобы отслеживать непредвиденные ошибки.
    On Error GoTo 0
   
End Sub
[свернуть]