Remarque : La fonction, la méthode, l’objet ou la propriété décrite dans cette rubrique est désactivée si le service d’expression Microsoft Jet s’exécute en mode bac à sable, ce qui empêche l’évaluation d’expressions potentiellement dangereuses. Pour plus d’informations sur le mode bac à sable, recherchez « mode bac à sable » dans l’aide.
Exécute un programme exécutable et retourne un Variant (Double) représentant l’ID de tâche du programme en cas de réussite ; sinon, il retourne zéro.
Syntaxe
Shell( pathname [, windowstyle ] )
La syntaxe de la fonction Shell contient les arguments suivants :
Argument |
Description |
Chemin |
Obligatoire. Variant (String). Nom du programme à exécuter et tous les arguments ou commutateurs ligne de commande requis ; peut inclure un répertoire ou un dossier et un lecteur. Sur Macintosh, vous pouvez utiliser la fonction MacID 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. Variant (Entier) correspondant au style de la fenêtre dans laquelle le programme doit être exécuté. Si windowstyle est omis, le programme est démarré avec le focus. Sur Macintosh (System 7.0 ou version ultérieure), windowstyle détermine uniquement si l’application obtient le focus lorsqu’elle est exécutée. |
L’argument windowstyle nommé a les valeurs suivantes :
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 a le focus et est restaurée à sa taille et à sa position d’origine. |
vbMinimizedFocus |
2 |
La fenêtre s’affiche sous la forme d’une icône avec le focus. |
vbMaximizedFocus |
3 |
La fenêtre est agrandie avec le focus. |
vbNormalNoFocus |
4 |
La fenêtre est restaurée à sa taille et à sa position les plus récentes. La fenêtre active reste active. |
vbMinimizedNoFocus |
6 |
La fenêtre s’affiche sous forme d’icône. La fenêtre active reste active. |
Remarques
Si la fonction Shell exécute correctement le fichier nommé, elle retourne l’ID de tâche du programme démarré. 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 l’application au premier plan ; vbHide, vbNoFocus, vbMinimizeFocus placent l’application en arrière-plan.
Remarque : Par défaut, la fonction Shell exécute d’autres programmes de manière asynchrone. Cela signifie qu’un programme démarré avec Shell peut ne pas terminer l’exécution avant l’exécution des instructions qui suivent la fonction Shell .
Exemple
Remarque : Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher et entrez un ou plusieurs termes dans la zone de recherche.
Cet exemple utilise la fonction Shell pour exécuter une application spécifiée par l’utilisateur. Sur macIntosh, le nom du lecteur par défaut est « HD » et les parties du chemin d’accès sont séparées par des points-virgules au lieu de barres obliques inverses. De même, vous devez spécifier des 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 ' Run Calculator. RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)