How to find if a network path is available or not

How to find out if a directory is available or not?

Using VB 6.0

databasetext = network path available

If Len(Dir(databasetext)) = False Then
MsgBox "Database Path Not Available"
End if

I select a file from the network path, if the network path is unavailable, it shows the error "invalid file name or number"

How to solve this problem?

Need help with VB 6 code

0
source share
2 answers

From my library. I think I have included all the necessary ads.

Private Declare Function FindClose Lib "Kernel32" (ByVal hFindFile As Long) As Long
Private Declare Function FindFirstFile Lib "Kernel32" Alias ​​"FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long

Private Const INVALID_HANDLE_VALUE = -1
Private Const MAX_PATH = 260

Private Type FILETIME
   dwLowDateTime As Long
   dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
   dwFileAttributes As Long
   ftCreationTime As FILETIME
   ftLastAccessTime As FILETIME
   ftLastWriteTime As FILETIME
   nFileSizeHigh As Long
   nFileSizeLow As Long
   dwReserved0 As Long
   dwReserved1 As Long
   cFileName As String * MAX_PATH
   cAlternate As String * 14
End Type

Public Function FolderExists(ByVal FolderSpec As String) As Boolean
   Dim rst As Long
   Dim udtW32FindD As WIN32_FIND_DATA
   Dim lngFHandle As Long
   Dim strFolder As String 'set to FolderSpec parameter so I can change it

   strFolder = FolderSpec
   If Right$(strFolder, 1) <> "\" Then
      strFolder = strFolder & "\"
   End If
   strFolder = strFolder & "*"   'add the wildcard allows finding share roots

   lngFHandle = FindFirstFile(strFolder, udtW32FindD)
   If lngFHandle  INVALID_HANDLE_VALUE Then
      Call FindClose(lngFHandle)
      FolderExists = True
   End If

End Function

+1

PathIsDirectory Shlwapi.dll, VB6:

Private Declare Function PathIsDirectory Lib "Shlwapi" _
    Alias "PathIsDirectoryW" (ByVal lpszPath As Long) As Long

Function DirExists(ByVal sDirName As String) As Boolean   
  'NB The shlwapi.dll is built into Windows 2000 and 98 and later:  ' 
  '   it comes withInternet Explorer 4 on NT 4 and 95. '  
  'NB Calling "Wide" (Unicode) version. Always available. '
  DirExists = (PathIsDirectory(StrPtr(Trim$(sDirName))) <> 0)    
End Function

EDIT: FileSystemObject, Runtime Microsoft Scripting Runtime ( FileSystemObject). , , , - .

+2

Source: https://habr.com/ru/post/1745699/


All Articles