Ejecutar comando CMD desde Excel VBA

Hola mundo! Hoy veremos un tema del cual he querido escribir hace algún tiempo y es ‘Ejecutar comando CMD desde Excel VBA’

CMD desde excel VBA

Y cabe mencionar que para ésta publicación me he inspirado en ‘El Palomo’, puedes visitar su blog aquí el-palomo.com

En especial su publicación a la que nombró Estúpido y sensual Excel, la cual me encantó y espero complementar en esta publicación

Nuestro objetivo será ejecutar un comando CMD desde Excel, leer la información obtenida desde una macro y finalmente enviar la información a otro PC

Paso #1: Ejecutar comando CMD desde Excel VBA

Vale, crearemos un módulo en nuestro archivo Excel y ejecutaremos el comando whoami

Y para complementar la cantidad de comandos CMD listaré algunos con su respectiva descripción

whoamiMuestra el nombre del usuario activo
query userMuestra información sobre las sesiones de usuario en un servidor de Host de sesión de escritorio remoto
ipconfigMuestra los valores como dirección IP, Gateway, DNS en uso, etc.
ipconfig /allMuestra la información detallada del ipconfig
net userMuestra los usuarios locales del sistema operativo
net localgroup AdministradoresMuestra los usuarios que pertenecen al grupo administradores
arp –aDirecciones IP con las que ha estado en comunicación el servidor
netsh advfirewall firewall show rule name=allObtener las reglas del firewall del computador
dir /s/b D:\*.pdfListar archivos PDF en la ruta especificada
erase D:\archivo.pngElimina el archivo en la ruta especificada
dir D:\Muestra una lista de archivos y subdirectorios en un directorio
shutdown -s -t 5Apaga el computador en 5 segundos
shutdown -aCancela la programación de apagado
systeminfoMuestra las propiedades y la configuración específicas del equipo.
tasklistMuestra información de las tareas en ejecución
route printMuestra la tabla de enrutamiento, Puerta de enlace (gateway), interfaz y métrica.
netstatEstadística de conexiones activas
net userMuy útil para administrar cuentas de usuario
net viewMuestra la lista de equipos o recursos de la red
netsh wlan show profilesMuestra el o los perfiles de red Wi-Fi almacenados
netsh wlan show profiles name='nombre_red' key=clearMuestra la contraseña almacenada de la red WiFi seleccionada
netsh wlan show interfacesMuestra la configuración del adaptador Wi-Fi

Dejo al lector el libre uso de acuerdo a sus necesidades

Paso #2: Leer la información obtenida desde VBA

Debemos exportar la información obtenida del paso 1 a un archivo de texto, esto lo haremos con el sisguiente código

Uso al Application.Wait y no a DIR, porque el archivo de texto se genera así no tenga contenido, y DIR me mostraría un falso verdadero

Procedemos a leer el archivo de texto desde VBA, utilizaremos declaración de variables cortas

Muy bien, el contenido se almacenará en la variable String Contenido

Paso #3: Enviar la información a otra PC

Esto ya lo hemos visto en algunos POST, en el caso de la publicación de ‘El Palomo’, él utilizaba una conexión por FTP

Y es válido, pero muchos antivirus nos van a detectar y no es lo que queremos, yo sugiero al lector usar a Google Form (O un hosting)

Nuestro código quedaría así:

Usted mi querido lector, puede usar el link de su formulario, el mío es este y la cantidad de segundos que crea apropiado

Si desea leer más sobre cómo almacenar información en Google Form desde VBA puede leer Publicación Google Form como base de datos

Descargar archivo ejecutar CMD desde excel VBA gratis (Contraseña: tutorialesexcel.com)

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *