VBA: Wie man eine andere Anwendung von MS Access aus ausführt

8

Ich habe versucht, dieses Problem herauszufinden, und es scheint, dass ich die Lösung des Problems nirgendwo finden kann. Hier war der erste Teil: ​​VBA-Shell-Befehl gibt immer "Datei nicht gefunden" zurück In dieser Frage wurde die Anwendung im Ordner% APPDATA% aus irgendeinem seltsamen Grund nicht gefunden, wahrscheinlich eine Sicherheitseinstellung.

Ich habe seitdem das Import-Tool in das gleiche Verzeichnis verschoben, in dem ich die Datenbank gespeichert habe, mit der kleinen Hoffnung, dass es richtig funktioniert.

Mein Ziel ist es, in MS Access auf eine Schaltfläche zu klicken und mein Import-Tool direkt ausführen zu lassen. Im Moment öffne ich den Ordner, der das Tool enthält. Dies funktioniert auf meinem Entwicklungscomputer, der über Administratorrechte verfügt, aber auf anderen Computern ohne Administratorrechte nicht funktioniert. Der Code sieht jetzt ungefähr wie folgt aus:

%Vor%

Dadurch kann der Ordner, in dem die Datei enthalten ist, geöffnet werden, jedoch nur auf Computerkonten, die über vollständige Administratorrechte verfügen. Wenn dies auf einem Computerkonto ausgeführt wird, das über weniger als vollständige Berechtigungen verfügt, wird einfach nichts unternommen.

Ich habe auch folgendes versucht:

%Vor%

Dieser Abschnitt scheint zu funktionieren, indem er die Anwendung "mytool.exe" lädt, wenn ich den Prozessmanager betrachte. Nach ein paar Sekunden (vielleicht 20) erscheint jedoch ein Dialog, der besagt, dass die Anwendung "mytool.exe" nicht mehr funktioniert.

Eine Sache, die hier zu beachten ist, ist, dass ich auf meinem Entwicklungscomputer Administratorrechte habe, aber ich habe alle Privilegien auf meinem Heimcomputer. Auf meinem Heimcomputer funktioniert dieser zweite Code überhaupt nicht. Auf meinem Entwicklungscomputer stürzt es ab, während es auf einem eingeschränkten Benutzercomputer überhaupt nichts tut.

Gibt es Vorschläge, wie Sie diese Anwendung von MS Access aus öffnen können, während Sie weniger als Administratorrechte verwenden? Entweder um die Anwendung direkt auszuführen oder um mindestens den Ordner zu öffnen, in dem sich die Anwendung befindet.

Danke!

P.S. Ich habe versucht, sowohl ShellAndWait und RunApplication-Code gefunden auf Stackoverflow, von denen keiner in diesem Fall funktioniert.

    
Jim P 17.05.2012, 18:07
quelle

4 Antworten

3

Ich verwende immer ShellExecute von der Windows API, wenn ich etwas in VBA ausführen muss.
Soweit ich weiß, funktioniert es auch auf Maschinen ohne volle Privilegien.

Beispiel:

%Vor%

Jetzt kannst du ShellEx aufrufen, um so ziemlich alles zu starten:

%Vor%

Beachten Sie, dass ShellEx ebenfalls zwei optionale Parameter enthält.
Ich habe dies in den obigen Beispielen nicht gezeigt, aber Sie können:

  • Übergeben Sie Parameter an ausführbare Dateien
  • Versteckt das Fenster der aufgerufenen ausführbaren Datei
Christian Specht 07.12.2013 12:16
quelle
1

Nur herumalbern mit Ссылка . Ich habe dies auf Windows 7 Home PC versucht.

%Vor%

Es könnte Ihnen einige Ideen geben.

    
Fionnuala 17.05.2012 18:59
quelle
0

Überprüfen Sie

%Vor%

mit einer anderen ausführbaren Datei. Es kann ein Problem mit Ihrem Werkzeug geben.

    
MaxD 21.05.2012 07:38
quelle
0

folgen Sie diesem Link

MS ACCESS: Starten Sie eine Anwendung von ACCESS 2003 / XP / 2000/97

Hier ist ein Beispiel für die Ausführung einer Anwendung in ms Zugriff

%Vor%

Ich wünschte, es hilft Ihnen

    
ajokar 19.11.2014 21:49
quelle

Tags und Links