# VB06 File Exist Check



## nicok (16. September 2006)

hi


also ich hab hier 2 codes :

*1.*

Private Function FileExists(Datei As String) As Boolean
On Error Resume Next
FileExists = Dir$(Datei) <> ""
FileExists = FileExists And Err = 0
On Error GoTo 0
End Function



*2.*

Dim a
a = App.Path
If Instr(1, a, Environ("Windir")) = 1 Then
msgbox " Datei gefunden "



___________________________________________________________________________

das problem ist ich weiß nicht wo ich meine daten einsetzen soll..

Die daten :

Der Pfad : Windowsverzeichniss
Die zu überprüfende Datei : hallo.exe

___________________________________________________________________________


falls jemand einen anderen code hat, kann er ihn gerne posten


----------



## SPN_X (18. September 2006)

Ich nehme mal an das du mit 'wo ich meine daten einsetzen soll' im Code Wie in meinem Beispiel.
Nun ich weiß nicht ob dir des weiterhilft aber ich zeig dir mal meinen Code:

```
If Dir(Dir1.Path & "/Windows/" & "banner.xml") <> "" Then
....
```
Oder für deine Bestimmte exe:

```
If Dir("C:\Windows\" & "hallo.exe") <> "" Then
.....
```
Denn in Worten : Wenn 'verzeichnis' & 'datei' exitieren DANN...
also des 'FildExists=  ' hab ich net gemacht
Also bei mir macht er alles ohne fehler. 

GL  by SPN_X


----------



## Shakie (18. September 2006)

Ich würde folgende Variante nehmen:

```
Function Datei_oder_Pfad_Existiert(ByVal Pfad As String) As Boolean
  On Error Resume Next
  VBA.FileSystem.GetAttr Pfad
  Datei_oder_Pfad_Existiert = (Err.Number = 0)
End Function
```


----------



## RamonR (19. September 2006)

Und um die Verwirrung komplett zu machen  :

Hier die Variante, die ich immer einsetze


```
private sub test()
  if FileExists ( "c:\testdir\test.txt " ) then 
    msgbox "Jupp, ist da "
  else
    msgbox "Nö, ist nicht da "
  endif
end sub

Private Function FileExists(FileName As String) As Boolean
    If FileName <> "" Then
        FileExists = (Dir$(FileName) <> "")
    Else
        FileExists = False
    End If
End Function
```


----------



## Shakie (20. September 2006)

@RamonR: verwende deine Funktion mal bei einer versteckten Datei. Du wirst überrascht sein! Die Dir-Funktion liefert dann nämlich einen Nullstring, was bedeutet, dass die Datei als nicht existent behandelt wird, obwohl sie vorhanden ist. Du solltest also mindestens das vbHidden-Attribut bei "Dir" verwenden:

```
FileExists = (Dir$(FileName, vbHidden) <> "")
```


----------



## RamonR (21. September 2006)

Shakie hat gesagt.:
			
		

> Du solltest also mindestens das vbHidden-Attribut bei "Dir" verwenden:
> 
> ```
> FileExists = (Dir$(FileName, vbHidden) <> "")
> ```



Ok, ist eine gute Anregung ... allerdings habe ich bisher bei keinem meiner Programme den Bedarf gehabt, mit versteckten Dateien zu operieren.

Aber wenn's mal so weit ist, weiß ich jetzt wie


----------



## LukeFileWalker (4. Oktober 2006)

Super einfach -  total
Danke LukeFileWalker


----------

