Meldung 'Datei nicht gefunden' abfangen

Liebe ExpertInnen,

aus einem Access-Dialog heraus rufe ich per Shell die notepad.exe auf und verlasse mich darauf, dass diese .exe im WinSysDir liegt. Wenn nicht, haut mir Access eine MsgBox „Datei nicht gefunden“ auf den Schirm, mit der keiner was anfängt. Viel lieber wäre mir, wenn ich selbst melden könnte, dass zB der Aufruf aus dem Modul xyz gescheitert ist, weil die notepad.exe im Verzeichnes C:\Windows\Winnt\system32 nicht gefunden wurde. Wer weiß was?

Gruß Ralf

Hallo Ralf,

man kann einfach die Fehlernummer 53 abfangen.
Ansonsten kann man vor dem Shell-Aufruf mittels dem FileSystemObjekt die Existenz der Datei pruefen.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, Peter,

man kann einfach die Fehlernummer 53 abfangen.

wetten, dass in der VisualBasic-Hilfe der Begriff „Fehlernummer“ nicht existiert? Und deshalb ist der Anfänger wieder mal aufgeschmissen.

Ansonsten kann man vor dem Shell-Aufruf mittels dem
FileSystemObjekt die Existenz der Datei pruefen.

Ich hatte mir das nicht ganz so aufwendig vorgestellt. Also - in die Hände spucken und zur Schaufel greifen…

Dank & Gruß Ralf

Hallo Ralf,

ich mache das immer mit der API.

Option Explicit

Private Declare Function PathFileExists Lib "shlwapi.dll" Alias \_
"PathFileExistsA" (ByVal pszPath As String) As Long

Private Sub Form\_Load()
 Dim Handle As Long
 If PathFileExists("Notepad.exe") Then
 Handle = Shell("Notepad.exe", vbNormalFocus)
 Else
 MsgBox "Datei nicht gefunden", vbCritical, "Fehler beim Laden"
 End If
End Sub

Gruß, Rainer

Moin, Rainer,

ich mache das immer mit der API.

das wollte ich eigentlich nie, Nie, NIE. Dein Tipp (besternten Dank dafür) hat mich aber auf die Idee gebracht, den Ablauf nochmal zu überdenken: Anstatt die fehlende Datei zu melden, kann ich den User gleich auffordern, sie zu suchen. Also doch API lernen :smile:))

Gruß Ralf

Hallo Ralf,

Also doch API lernen :smile:))

lernen? Nö, ich habe nur die API-Guide auf dem Rechner und schreibe jedes mal ab. Merken kann man sich das nicht, viel zu kompliziert und umfangreich.

Gruß, Rainer

1 Like

Hi Rainer,

API-Guide

das hat ja Hand und Fuß!

Dank & Gruß
Ralf

das wollte ich eigentlich nie, Nie, NIE. Dein Tipp (besternten
Dank dafür) hat mich aber auf die Idee gebracht, den Ablauf
nochmal zu überdenken: Anstatt die fehlende Datei zu melden,
kann ich den User gleich auffordern, sie zu suchen. Also doch
API lernen :smile:))

Hallo Ralf,

warum suchst du sie nicht gleich selbst und öffnest sie?
Problematisch wirds nicht wenn sie nicht vorhanden ist, sondern wenn sie mehrmals vorhanden ist, weil mehrfach Windows installiert ist, dann müßte man die „richtige“ Notepad.exe starten.
Gruß
Reinhard