lunes, 15 de enero de 2018

Informática Jurasica (II). Ejecutar comandos MSDOS desde VB6

Saludos,

He tenido muchos problemas con mis antiguas aplicaciones VB6. Uno de los mayores problemas era ejecutar una aplicacion o fichero de comandos ".bat".

Parece ser tal y como  dice C0ding que hay que dar estos pasos:

1. En referencias del proyecto VB6.0 hay que marcar "Microsoft Script Host Object Model"
2. Crear un fichero con extensión ".bat" por ejemplo "provaVB60.bat" en "E:\CONF\KK\" como por ejemplo:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
@echo off 
title Hacer media de dos numeros 
echo "El primer parametro es " %1
echo "El segundo parametro es " %2
set/p num1=Cual es el primer numero? 
set/p num2=Cual es el segundo numero? 
set/a media= (%num1% + %num2%) / 2 
echo. 
echo La media es %media% 
java -version
pause >nul 
exit 

Aquí evaluamos si hay 2 parámetros de entrada, pedimos 2 números, sacamos media y tabién probamos a ejecutar java para ver que versión tenemos instalada. Pues parece ser que funciona.

3. Creamos una pantalla y con un boton y el código VB de la pantalla es:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
Dim wshThisShell As WshShell
Dim lngRet As Long
Dim strShellCommand As String
Dim strBatchPath As String

Sub EjecutarComando()
  Set wshThisShell = New WshShell
  strBatchPath = "E:\CONF\KK\provaVB6.bat" & """" & " hola guapo" & """"
  strShellCommand = """" & strBatchPath & """"
  lngRet = wshThisShell.Run(strShellCommand, vbNormalFocus, vbTrue)
End Sub

Private Sub Command1_Click()
  Call EjecutarComando
End Sub

En la línea 8 aparece como se llama con parámetros, en este caso hemo colocado también 2 parámetros. Observar que los parámatros se han colocada entre comillas dobles y que el espacio en  blanco es la separación entre parámetros. En este caso detecta 2 parámetros hola y guapo.




No hay comentarios :

Publicar un comentario