Shell, fonction

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Remarque

La fonction, la méthode, l’objet ou la propriété décrits dans cette rubrique est désactivé 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 renvoie une variante (double) représentant l’ID de tâche du programme en cas de succès, sinon il renvoie zéro.

Syntaxe

shell(pathname [, windowstyle ] )

La syntaxe de la fonction Shell contient les arguments suivants :

Argument Description
nom du chemin d’accès Obligatoire. Variante (chaîne). Nom du programme à exécuter et tous les arguments ou commutateurs de 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. Variante (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é réduit avec le focus. Sur Macintosh (System 7.0 ou version ultérieure), windowstyle détermine uniquement si l’application reçoit ou non le focus lorsqu’elle est exécutée.

    

L’argument nommé windowstyle a les valeurs suivantes :

Constante Valeur Description
vbHide 0 La fenêtre est masquée et le focus est transmis à 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 actuellement active reste active.
vbMinimizedNoFocus 6 La fenêtre s’affiche sous forme d’icône. La fenêtre actuellement 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. Une erreur se produit si la fonction Shell ne peut pas démarrer le programme nommé.

Sur Macintosh, vbNormalFocus, vbMinimizedFocus et vbMaximizedFocus placent tous l’application au premier plan ; vbHide, vbNoFocus, vbMinimizeFocus placent tous 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 l’interpréteur de commandes peut ne pas finir de s’exécuter avant que les instructions qui suivent la fonction de l’interpréteur de commandes ne soient exécutées.

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 développeur dans la liste déroulante en regard de Rechercher , puis 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 le MacIntosh, le nom du lecteur par défaut est « HD » et les parties du chemin d’accès sont séparées par des deux-points 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)