Las macros son una forma maravillosa de ampliar la funcionalidad de un programa como Excel. Sin embargo, es posible que desee expandir esa funcionalidad aún más ejecutando un archivo por lotes de DOS desde su macro. Excel le permite hacer esto usando el comando Shell. La sintaxis general del comando es la siguiente:

dRetVal = Shell("myfile.bat", mode)

Dentro de las comillas, puede colocar el nombre completo de la ruta y el nombre del archivo que desea ejecutar. En algunos sistemas, puede experimentar problemas si utiliza un nombre de ruta con la especificación del archivo. (Esto parece recortar su fea cabeza si tiene nombres de ruta complejos o si el nombre de ruta incluye espacios). Si tiene este problema, simplemente use el comando ChDir justo antes de Shell para cambiar el directorio usado por Excel. Luego puede ejecutar Shell usando solo un nombre de archivo.

El indicador de modo simplemente le dice a Excel cómo desea que se abra la ventana para que aparezca el archivo. El indicador de modo puede ser cualquiera de los siguientes:

Value

Variable Nam

Meaning

0

vbHide

Window is hidden and has focus.

1

vbNormalFocus

Window is the normal size and has focus.

2

vbMinimizedFocus

Window is minimized and has focus.

3

vbMaximizedFocus

Window is maximized and has focus.

4

vbNormalNoFocus

Window is normal size, but doesn’t have

focus.

6

vbMinimizedNoFocus

Window is minimized, but doesn’t have

focus.

El comando Shell devuelve un valor que indica el ID de programa del archivo que ejecutó, o bien un cero. Si se devuelve un cero, entonces hubo un error al ejecutar el archivo.

Debe recordar que cuando usa Shell, el archivo de destino se ejecuta de inmediato y se ejecuta independientemente de Excel. Esto significa que el siguiente comando de macro, en su macro de Excel, se ejecuta inmediatamente sin esperar a que finalice el archivo de destino de Shell. Desafortunadamente, no hay forma de evitar este comportamiento.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2506) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

enlace: / excelribbon-DOS_from_Macros [DOS desde Macros].