Ejecutar archivo bat desde vba

Intento ejecutar un archivo bat desde vba cuyo nombre lo he guardado en una variable y no me funciona, me sala un error de que no encuentra el archivo. Quiero guardarlo en una variable pues el valor se lo pasaré en una función.

archivo = "d:\carpeta\ejemplo.bat"

Shell ("cmd/c archivo ")

1 respuesta

Respuesta
2

Intenta solamente con la variable (sin comillas)

  archivo = "d:\carpeta\ejemplo.bat"
  Shell (archivo)

No funciona

¿Qué error te aparece o qué esperas de resultado?

Funciona para mí.

También lo siguiente funciona para mí, debe haber espacio después de cmd y después de la /c
El nombre de la variable debe concatenarse:

Sub test()
  Dim archivo As String
  archivo = "d:\carpeta\ejemplo.bat"
  Shell "cmd /c " & archivo, vbNormalFocus
End Sub

Pon las siguientes líneas en tu archivo ejemplo.bat:

Echo "hola"
Pause

Ahora ejecuta el siguiente código:

Sub test()
  Dim archivo As String
  archivo = "d:\carpeta\ejemplo.bat"
  Shell "cmd /c " & archivo, vbNormalFocus
End Sub

Debe aparecer una pantalla similar:

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas