Shell (Función)

Visual Basic VBLR

Shell (Función)

       

Ejecuta un programa ejecutable y devuelve un tipo Variant (Double) que representa la identificación de la tarea del programa si se ha ejecutado con éxito, en caso contrario devuelve cero.

Sintaxis

Shell(pathname[,windowstyle])

La sintaxis de la función Shell tiene estos argumentos con nombre:

Parte Descripción
pathname Requerido; Variant (String). Nombre del programa a ejecutar y de cualesquiera argumentos necesarios o modificador de la línea de comandos; puede incluir directorio o carpeta y unidad de disco. En Macintosh, puede utilizar la función MacID para especificar la firma de una aplicación en lugar de su nombre. El siguiente ejemplo utiliza la firma de Microsoft Word: Shell MacID("MSWD")
windowstyle Opcional. Variant (Integer) correspondiente al estilo de la ventana en la cual se va a ejecutar el programa. Si se omite windowstyle, el programa se inicia minimizado con enfoque. En Macintosh (sistema 7.0 o posterior), windowstyle sólo determina si la aplicación recibe el enfoque cuando se ejecuta.

El argumento con nombre windowstyle tiene estos valores:

Constante Valor Descripción
vbHide 0 Se oculta Windows y se pasa el foco a la ventana oculta. La constante vbHide no se aplica a plataformas Macintosh.
vbNormalFocus 1 Windows recupera el foco y vuelve a su posición y tamaño original.
vbMinimizedFocus 2 Windows se muestra como un icono con foco.
vbMaximizedFocus 3 Windows se maximiza con foco.
vbNormalNoFocus 4 Windows vuelve al tamaño y posición más recientes. La ventana activa actual permanece activa.
vbMinimizedNoFocus 6 Windows se muestra como un icono. La ventana activa actual permanece activa.

Comentarios

Si la función Shell ejecuta con éxito el archivo nombrado, devuelve la identificación de la tarea (Id) del programa iniciado. La Id de la tarea es un número exclusivo que identifica el programa en ejecución. Si la función Shell no puede iniciar el programa nombrado, ocurrirá un error.

En Macintosh, vbNormalFocus, vbMinimizedFocus y vbMaximizedFocus colocan la aplicación en primer plano; sin embargo, vbHide, vbNoFocus, vbMinimizeFocus la colocan en segundo plano.

Nota   De manera predeterminada, la función Shell ejecuta otros programas de forma asíncrona. Esto quiere decir que no se puede esperar que un programa iniciado con Shell termine su ejecución antes de que se ejecuten las instrucciones que siguen a la función Shell en la aplicación.