VBA: Wie zum ausführen einer anderen Anwendung aus Microsoft Access

Ich habe versucht, dieses Problem herausgefunden, und es scheint, dass ich keine Lösung finden für das problem überall. Hier war der erste Teil: VBA-Shell-Befehl gibt immer "Datei Nicht Gefunden" In dieser Frage war es nicht, finden die Anwendung in den Ordner %APPDATA% für einige ungerade Grund, wahrscheinlich eine Sicherheitseinstellung.

Ich habe seitdem zog das import-tool in das gleiche Verzeichnis, dass ich speichern Sie die Datenbank, mit der kleinen Hoffnung, es richtig funktioniert.

Mein Ziel ist es, auf eine Schaltfläche klicken in MS-Access und es läuft mein import-tool direkt. Jetzt habe ich Sie öffnen den Ordner, der hält das Werkzeug. Dies funktioniert auf meinem Entwicklungs-Rechner mit admin-rechten, aber funktioniert nicht auf anderen Rechnern ohne admin-privs. Der code jetzt sieht so etwas wie die folgenden:

Dim hProcess as Long
Dim myPath as String
Dim ex as String

ex = "C:\WINDOWS\explorer.exe "
myPath = Environ("ProgramFiles(x86)") & "\mytool\"

hProcess = Shell(ex & myPath, vbNormalFocus)

Dies ermöglicht es der Ordner enthält die Datei geöffnet werden, sondern nur auf Computer-Konten, die vollständige Administratorrechte. Wenn Sie dies ausführen auf einen Computer-account, der weniger als die volle Privilegien, es tut sich einfach nichts.

Ich habe auch versucht, die folgenden:

Dim hProcess As Long
Dim myPath as String

myPath = Environ("ProgramFiles(x86)") & "\mytool\mytool.exe"
hProcess = Shell(myPath, vbNormalFocus)

Diesem Abschnitt "scheint" zu funktionieren, dass es die Anwendung lädt "mytool.exe" wenn ich mir den process manager. Aber nach ein paar Sekunden (vielleicht 20), erscheint ein Dialogfeld, die besagt, dass die Anwendung "mytool.exe" hat aufgehört zu arbeiten.

Eine Sache zu beachten hier ist, dass ich admin-Rechte auf meinem Entwicklungsrechner, aber ich habe alle Rechte auf meinem Rechner zu Hause. Auf meinem Rechner zu Hause, ist dieser zweite code funktioniert mit kein Problem überhaupt. Auf meiner Entwicklungs-Maschine, es abstürzt, während auf einer eingeschränkten Benutzer-Maschine, es nicht zu tun überhaupt nichts.

Gibt es irgendwelche Vorschläge, wie man öffnen Sie diese Anwendung von MS Access während der Verwendung weniger-als-admin-Rechte? Entweder führen Sie die Anwendung direkt oder zumindest öffnen Sie den Ordner, in dem gesagt Anwendung befindet.

Dank!

P. S. ich habe versucht, sowohl die ShellAndWait und RunApplication code gefunden auf stackoverflow, von denen keiner funktioniert in diesem Fall.

InformationsquelleAutor Jim P | 2012-05-17
Schreibe einen Kommentar