Partager via


Fonction Shell

Exécute un programme exécutable et renvoie une Variante (Double) ; représentant l’ID de tâche du programme en cas de réussite ; sinon, elle renvoie zéro.

Syntaxe

Shell(pathname, [ windowstyle ])

La syntaxe de la fonction Shell comporte les arguments nommés suivants :

Élément Description
pathname Obligatoire ; Variante (Chaîne). Nom du programme à exécuter ainsi que les arguments ou commutateurs ligne de commande obligatoires ; inclut éventuellement le répertoire ou dossier et lecteur. Sur Macintosh, vous pouvez utiliser la fonctionMacID pour spécifier la signature d’une application au lieu de son nom. L’exemple suivant utilise la signature pour Microsoft Word : Shell MacID("MSWD")
windowstyle Facultatif. Variante (Entier) correspondant au style de la fenêtre dans laquelle le programme est exécuté. Si windowstyle est omis, le programme est démarré en mode réduit avec focus. Sur Macintosh (System 7.0 ou version ultérieure), windowstyle détermine uniquement si l’application obtient le focus ou non lorsqu’elle est exécutée.

L’argument nommé windowstyle a ces valeurs :

Constante Valeur Description
vbHide 0 La fenêtre est masquée et le focus est passé à la fenêtre masquée. La constante vbHide n’est pas applicable sur les plateformes Macintosh.
vbNormalFocus 1 La fenêtre est mise au premier plan et est restauré à sa taille et sa position d'origine.
vbMinimizedFocus 2 La fenêtre est affichée sous forme d'icône au premier plan.
vbMaximizedFocus 3 La fenêtre est agrandie et au premier plan.
vbNormalNoFocus 4 La fenêtre est restaurée à sa taille et position les plus récentes. La fenêtre en cours d’activité reste active.
vbMinimizedNoFocus 6 La fenêtre s’affiche sous forme d’icône. La fenêtre en cours d’activité reste active.

Remarques

Si la fonction Shell exécute correctement le fichier nommé, elle renvoie l’ID de tâche du programme mis en route. L’ID de tâche est un numéro unique qui identifie le programme en cours d’exécution. Si la fonction Shell ne peut pas démarrer le programme nommé, une erreur se produit.

Sur Macintosh vbNormalFocus, vbMinimizedFocus, et vbMaximizedFocus placent tous l’application au premier plan ; vbHide, vbNoFocus, et vbMinimizeFocus placent tous l’application en arrière-plan.

Remarque

Par défaut, la fonction Shell exécute les autres programmes de façon asynchrone. Cela signifie qu’un programme démarré avec Shell peut ne pas terminer son exécution avant que les instructions qui suivent la fonctionShell ne soient exécutées. Pour attendre la fin d'un programme, consultez Déterminer la fin d'un processus shell.

Exemple

Cet exemple utilise la fonctionShellpour exécuter une application spécifiée par l’utilisateur. Sur Macintosh, le nom du lecteur par défaut est « HD » et les portions du nom de chemin d’accès sont séparées par des points-virgules au lieu de barres obliques inverses. De même, vous spécifierez les dossiers Macintosh au lieu de \WINDOWS.

' Specifying 1 as the second argument opens the application in 
' normal size and gives it the focus.
Dim RetVal
RetVal = Shell("C:\WINDOWS\NOTEPAD.EXE", 1)    ' Open Notepad.

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.