Public Function FolderExists(ByVal strPathName As String) As Boolean
Dim DirectoryFound As String
Const errPathNotFound As Integer = 76
On Error Resume Next
DirectoryFound = Dir(strPathName, vbDirectory)
If (Len(DirectoryFound) = 0 Or Err.Number = errPathNotFound) Then
Err.Clear
FolderExists = False
Else
FolderExists = True
End If
End Function
Проверка в сети компьютер или нет.
Возможно ли средствами VB проверить в сети компьютер или нет по IP адресу?
Прикрепляю архив с примером, который нашёл на одном из форумов. Сам не пробовал, но по отзывам других - работает.
Спасибо просмотрел работает. Тока вот немогу разобраться как бы правельно выдрать что нужно чтобы мне пинговать ip, и получать ответ есть пинг или нет.
Для проверки существования каталога использую:
Цитата:
Public Function FolderExists(ByVal strPathName As String) As Boolean
Dim DirectoryFound As String
Const errPathNotFound As Integer = 76
On Error GoTo 0
DirectoryFound = Dir(strPathName, vbDirectory)
If (Len(DirectoryFound) = 0 Or Err = errPathNotFound) Then
FolderExists = False
Else
FolderExists = True
End If
End Function
проверяю так
If FolderExists("\\192.168.50.19\C$\1111\") = False Then
MsgBox "Такая папка не существует"
Else
MsgBox "Такая папка существует"
End If
Если компьютер выключен или не в сети ругается на строчку
DirectoryFound = Dir(strPathName, vbDirectory)
Цитата: rostov-ilya
Можно подойти к проблеме по другому.
Для проверки существования каталога использую:...
Для проверки существования каталога использую:...
Эта задача не аналогична задаче проверки доступности компьютера в сети.
Цитата: rostov-ilya
Если компьютер выключен или не в сети ругается на строчку
DirectoryFound = Dir(strPathName, vbDirectory)
Это вопрос? Если вопрос, то вот вариант решения задачи:
Код:
Впрочем, я, решая подобную задачу, попытался бы идентифицировать ситуацию, когда нужный компьютер выключен (недоступен):
Код:
Public Function FolderExists(ByVal strPathName As String) As Integer
Dim DirectoryFound As String
Const errPathNotFound As Integer = 76
On Error Resume Next
DirectoryFound = Dir(strPathName, vbDirectory)
If Err.Number = 0 Then
If (Len(DirectoryFound) = 0) Then
FolderExists = 0
Else
FolderExists = 1
End If
Else
Err.Clear
FolderExists = -1
End If
End Function
Sub Test()
Select Case FolderExists("\\172.16.0.16\C$\Windows\")
Case -1: MsgBox "Нужный компьютер недоступен"
Case 0: MsgBox "Такая папка не существует"
Case 1: MsgBox "Такая папка существует"
End Select
End Sub
Dim DirectoryFound As String
Const errPathNotFound As Integer = 76
On Error Resume Next
DirectoryFound = Dir(strPathName, vbDirectory)
If Err.Number = 0 Then
If (Len(DirectoryFound) = 0) Then
FolderExists = 0
Else
FolderExists = 1
End If
Else
Err.Clear
FolderExists = -1
End If
End Function
Sub Test()
Select Case FolderExists("\\172.16.0.16\C$\Windows\")
Case -1: MsgBox "Нужный компьютер недоступен"
Case 0: MsgBox "Такая папка не существует"
Case 1: MsgBox "Такая папка существует"
End Select
End Sub
А эта тема вам ничем не поможет?
Большое всем спасибо разобрался все работает.