Páginas

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