Attribute VB_Name = "Dateiexistenz"
'Datei-/Verzeichnisexistenz
Const INVALID_HANDLE_VALUE = -1
Const MAX_PATH = 260

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

Private Declare Function FindClose Lib "Kernel32" _
(ByVal hFindFile As Long) As Long

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

Function FileExists(sSource As String) As Boolean
   Dim WFD As WIN32_FIND_DATA
   Dim hFile As Long
   hFile = FindFirstFile(sSource, WFD)
   FileExists = hFile <> INVALID_HANDLE_VALUE
   Call FindClose(hFile)
End Function

'DirExists
Function DirExists(Pfad) As Boolean
   Dim ret As Integer
   On Error Resume Next
   ret = GetAttr(Pfad)
   DirExists = IIf(Err = 0, True, False)
End Function
