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
))
Gruß Ralf
Hallo Ralf,
Also doch API lernen
))
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 „Gefällt mir“
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
))
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