VBA: Comment faire pour exécuter une autre application à partir de MS Access

J'ai essayé d'obtenir ce problème trouvé, et il semble que je ne peux pas trouver la solution au problème n'importe où. Voici la première partie: VBA commande Shell retourne toujours "Fichier Non Trouvé" Dans cette question, il n'était pas de trouver l'application dans le dossier %APPDATA% pour une raison étrange, probablement un paramètre de sécurité.

J'ai déménagé depuis l'outil d'importation dans le même répertoire que je stocke dans la base de données, avec un petit espoir de la faire fonctionner correctement.

Mon objectif est de cliquer sur un bouton dans MS Access et l'exécuter mon outil d'importation directement. Maintenant, je l'ai, ouvrez le dossier qui contient l'outil. Cela fonctionne sur ma machine de développement qui a des privilèges d'administrateur, mais ne fonctionne pas sur d'autres machines sans admin privs. Le code de droit maintenant ressemble à quelque chose comme:

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)

Cela permet au dossier qui contient le fichier à ouvrir, mais seulement sur les comptes d'ordinateur qui ont des privilèges d'administrateur complet. Lors de l'exécution de cette opération sur un compte de machine qui a moins de privilèges, il n'a tout simplement rien.

J'ai aussi essayé le suivant:

Dim hProcess As Long
Dim myPath as String

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

Cette section "semble" travailler qu'il charge de l'application "mytool.exe" quand je regarde le gestionnaire de processus. Cependant, après quelques secondes (peut-être 20), une boîte de dialogue apparaît, indiquant que l'application "mytool.exe" a cessé de fonctionner.

Une chose à noter ici est que j'ai des privilèges d'administrateur sur ma machine de développement, mais j'ai tous les privilèges sur mon ordinateur à la maison. Sur mon ordinateur à la maison, ce deuxième code fonctionne sans problème que ce soit. Sur ma machine de développement, il se bloque, alors que l'autorisation de l'utilisateur de la machine, il ne fait rien du tout.

Des suggestions sur la façon d'ouvrir cette application à partir de MS Access en utilisant moins que des privilèges d'administrateur? Soit pour exécuter l'application directement ou, du moins, ouvrez le dossier dans lequel ladite demande de résidence.

Merci!

P. S. j'ai essayé les deux ShellAndWait et RunApplication code trouvé sur stackoverflow, ni de ce qui fonctionne dans ce cas.

OriginalL'auteur Jim P | 2012-05-17