Nota: La función, método, objeto o propiedad descrita en este tema se deshabilita si el Servicio de expresiones de Microsoft Jet se ejecuta en modo de espacio aislado, lo que impide la evaluación de expresiones potencialmente no seguras. Para obtener más información sobre el modo de espacio aislado, busca "modo de espacio aislado" en la Ayuda.
Ejecuta un programa ejecutable y devuelve un tipo de datos Variant (Double) que representa el id. de tarea del programa si es correcto, de lo contrario devuelve cero.
Sintaxis
Shell( nombre_de_ruta [, windowstyle ] )
La sintaxis de la función Shell tiene estos argumentos:
Argumento |
Descripción |
Ruta |
Requerido. Variant (String). Nombre del programa a ejecutar y los argumentos necesarios o modificadores de línea de comandos; pueden 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 de Microsoft Word: Shell MacID("MSWD") |
estilo de ventana |
Opcional. Variant (Integer) correspondiente al estilo de la ventana en la que se va a ejecutar el programa. Si 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 es aplicable en plataformas Macintosh. |
vbNormalFocus |
1 |
La ventana tiene el foco y se restaura a su tamaño y posición originales. |
vbMinimizedFocus |
2 |
La ventana se muestra como un icono con el foco. |
vbMaximizedFocus |
3 |
La ventana se maximiza con el foco. |
vbNormalNoFocus |
4 |
Ventana se restaura a su tamaño y posición más recientes. La ventana activa actualmente permanece activa. |
vbMinimizedNoFocus |
6 |
La ventana se muestra como un icono. La ventana activa actualmente permanece activa. |
Observaciones
Si la función Shell ejecuta correctamente el archivo con nombre, devuelve el id. 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 , todas colocan la aplicación en primer plano; vbHide, vbNoFocus, vbMinimizeFocus todo coloca 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 predeterminado de la unidad es "HD" y las partes del nombre de ruta se separan con dos puntos en lugar de barras diagonales inversas. Del mismo modo, especificaría las carpetas de 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)