Nota
La función, el método, el objeto o la propiedad descritos en este tema se deshabilitan si el servicio de expresiones de Microsoft Jet se ejecuta en modo de espacio aislado, lo que impide la evaluación de expresiones potencialmente inseguras. Para obtener más información sobre el modo de espacio aislado, busque "modo de espacio aislado" en la Ayuda.
Ejecuta un programa ejecutable y devuelve una variante (doble) que representa el id. de tarea del programa si se realiza correctamente; de lo contrario, devuelve cero.
Sintaxis
shell(pathname [, windowstyle ] )
La sintaxis de la función Shell consta de los siguientes argumentos:
| Argumento | Descripción |
|---|---|
| Nombre de ruta | Obligatorio.
variant (string). Nombre del programa a ejecutar y los argumentos necesarios o modificadores de línea de comandos; Puede incluir directorio o carpeta y unidad. En Macintosh, puede usar la función MacID para especificar la firma de una aplicación en lugar de su nombre. En el ejemplo siguiente se usa la firma para Microsoft Word:Shell MacID("MSWD") |
| windowstyle | Opcional. Variant (Integer) correspondiente al estilo de la ventana en la que se va a ejecutar el programa. Si se omite windowstyle , el programa se inicia minimizado con el foco. En Macintosh (sistema 7.0 o posterior), windowstyle solo determina si la aplicación obtiene el foco cuando se ejecuta. |
El argumento windowstyle con nombre tiene estos valores:
| Constante | Valor | Descripción |
|---|---|---|
| vbHide | 0 | La ventana está oculta y el foco se pasa a la ventana oculta. La constante vbHide no se aplica en plataformas Macintosh. |
| vbNormalFocus | 1 | La ventana tiene el foco y se restaura a su tamaño y posición originales. |
| vbMinimizedFocus | 2 | aparecerá como un icono con foco. |
| vbMaximizedFocus | 3 | La ventana se maximiza con el foco. |
| vbNormalNoFocus | 4 | La ventana se restaurará a su tamaño y posición más recientes. La ventana activa actualmente permanece activa. |
| vbMinimizedNoFocus | 6 | aparecerá como un icono. La ventana activa actualmente permanece activa. |
Observaciones
Si la función Shell ejecuta correctamente el archivo con nombre, devuelve el identificador de tarea del programa iniciado. El id. de tarea es un número único que identifica el programa en ejecución. Si la función Shell no puede iniciar el programa con nombre, se produce un error.
En Macintosh, vbNormalFocus, vbMinimizedFocus y vbMaximizedFocus colocan la aplicación en primer plano; vbHide, vbNoFocus y vbMinimizeFocus colocan la aplicación en segundo plano.
Nota
De forma predeterminada, la función Shell ejecuta otros programas de forma asincrónica. Esto significa que es posible que un programa iniciado con Shell no termine de ejecutarse antes de que se ejecuten las instrucciones que siguen a la función Shell .
Ejemplo
Nota
Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
En este ejemplo se usa la función Shell para ejecutar una aplicación especificada por el usuario. En MacIntosh, el nombre de unidad predeterminado es "HD" y partes del nombre de la ruta están separadas por dos puntos en lugar de barras diagonales inversas. De forma similar, debería especificar carpetas Macintosh en lugar 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)