Hi Alex,
Das mit der app.path funktioniert gut.
Na fein 
Mit der dir-Funktion hab ich auch mal ein bißchen rumhantiert,
Also dir Dir Function nehme ich nur ungern, da sie in manchen Faellen etwas falsches zurueck gibt.
Aber überprüfen kannst du es mit if dir(Filename) ="" then …
Für Filename trage einfach as zu überprüfende File ein.
Erhaelst du eine Leere Zeichefolge, also „“ dann existiert das File nicht. Existiert das File, so erhaelst du den Filenamen zurueck 
aber damit konnte ich nicht eine bestimmte Datei abfragen,
sondern musste das um 2 Ecken herum programmieren.
Wieso denn nicht? Bei mir klappt das anstandslos!
Wie hast du es denn realisiert ?
Das mit dem Fehler abfangen hab ich noch nicht ganz
verstanden. Ich hab da schon öfters was drüber gelesen, aber
nicht verstanden wie das funktioniert. Was muss ich da denn
machen? (Dann weiß ich das für zukünftige Anwendungen
)
Am besten du schreibst dir eine seperate Function und se gibt dir true oder false zurueck falls das File exitiert.
Eine solche Funktion koennte wiefolgt aussehen.
Hier einige Varianten
Public Function FileExist(Dateiname As String) As Boolean
On Error Goto Fehler
FileExist = Dir$(Dateiname) ""
Exit Function
Fehler:
FileExist = False
Resume Next
End Function
Public Function FileExists(strPath As String) As Boolean
On Error Resume Next
FileExists = ((GetAttr(strPath) And (vbDirectory Or vbVolume)) = 0)
End Function
Private Declare Function FindFirstFile Lib "kernel32.dll" Alias "FindFirstFileA" ( \_
ByVal lpFileName As String, \_
ByRef lpFindFileData As WIN32\_FIND\_DATA \_
) As Long
Private Declare Function FindClose Lib "kernel32.dll" ( \_
ByVal hFindFile As Long \_
) As Long
Private Const INVALID\_HANDLE\_VALUE As Long = -1
Private Const MAX\_PATH As Long = 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
Private Function FileExists(ByRef strFileName As String) As Boolean
Dim wfdWFD As WIN32\_FIND\_DATA
Dim hFile As Long
hFile = FindFirstFile(strFileName, wfdWFD)
FileExists = (hFile INVALID\_HANDLE\_VALUE)
Call FindClose(hFile)
End Function
Private Function FileExist(Filename as string) as boolean
on error goto Fehler
dim fn as byte
FileExist =false
fn = freefile
open Filename for binary as #fn
close fn
Fileexist=true
exit function
fehler:
exit function
end Function
Aufruf erfolgt jeweils mit if Fileexist(zu prüfende Datei) then
'File ist vorhanden
else
'File existiert nicht
end if
Gruß Axel
MFG Alex