La Shell de Windows

La SHELL de Windows es la interfaz gráfica de Microsoft Windows. Es donde se recoge toda la interfaz del usuario: el escritorio, la barra de tareas, explorador, etc.

Cuando usamos el sistema operativo como usuarios finales, trabajamos generalmente con aplicaciones, bien para navergar en internet, para redactar documentos, para hacer cálculos, etc.

Los programadores ,por contra,  tienen necesidades más avanzadas que los usuarios finales . Los programadores necesitan para compilar y ejecutar programas y automatizar tareas repetitivas.

La mayoría de los usuarios estamos familiarizados con la interfaz gráfica de usuario o GUI. La mayoría de los entornos GUI muestran un escritorio que se rellena con ventanas , iconos y menús . Se utiliza un puntero (dirigido por un ratón o trackball) para seleccionar los elementos en el escritorio. Estas interfaces son a veces llamados WIMP interfaces, después de las primeras letras de las palabras W_ indow, i_ con, m_ enu, y p_ ointer.

La otra interfaz de usuario es la shell de comandos . Un intérprete de comandos no es más que una ventana sin ningún tipo de decoración gráfica. Los comandos se muestran como texto. No hay ningún icono, y se puede usar el ratón sólo en circunstancias limitadas.

Uuna consola de comandos no es una buena interfaz de usuario para los usuarios ocasionales. Sin embargo, los usuarios experimentados encuentran que el shell de comandos, es indispensable para muchas tareas.

Vamos a ir poco a poco viendo cómo podemos agilizar nuestras macros implementando comandos de la shell de Windows wn nuestros códigos.

Por ejemplo en la siguiente macro vamos a crear un botón al que le vamos a asociar el código para abrir el bloc de notas:

  1. Abra un libro nuevo.
  2. Inicie el cuadro de controles.(Menú>Ver>barra de herramientas>Cuadro de controles)
  3. Seleccione y dibuje un botón.
  4. En tiempo de diseño haga doble click sobre el mismo e inserte  entre Private Sub CommandButton1_Click()  y End Sub el código

Dim RetVal
RetVal = Shell(“C:\Archivos de programa\Windows NT\Accesorios\Wordpad.exe”, 1)    ‘ Ejecuta bloc de notas
AppActivate RetVal

Salga del modo diseño (clic en el icono escuadra ) vaya a excel y haga clic en el botón. Si lo ha hecho correctamente se le abrirá el bloc de notas.

Analizando el código, lo primero que hemos hecho es declara una variable tipo variant para recoger el número que identifica la tarea del programa que ejecuta la función Shell.

Esta función tiene además los argumentos siguientes:

  • En primer lugar el nombre del programa a ejecutar y su ubicación exacta.
  • En segundo lugar un número asociadoal estilo de la ventana en que se va a ejecutar el programa, que puede presentar los valors siguientes:
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.

Si quisiéramos mostrar / acceder a la ventana de comandos deberíamos ejecutar la macro siguiente:

Sub muestra_cmd()
Dim RetornaVal
RetornaVal = Shell(“C:\WINDOWS\system32\cmd.exe”, 1)

End Sub

Intente ejecutar un ejemplo similar como el anterior haciendo que se muestre mediante un botón la calculadora de Windows.

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: