Pasaje de parámetros

Hola:
Necesitaría que me dieras una manito con esto:
Tengo que leer un archivo .txt que contiene varias filas con 2 datos cada una: un nombre de archivo y una dirección email. La idea es leer este cada registro de este archivo y pasarle a otro programa los valores leídos en 1 o 2 parámetros para que el programa llamado se encargue de adjuntar y enviar el archivo.
El problema se me presenta pues nunca tuve necesidad de utilizar pasaje de parámetros y no tengo la menor idea de como pasarlos (supongo que sería algo "shell c:\programa.exe, &parámetro") y tampoco como recibirlos. Algo he leído pero no lo tengo claro. Si puedes ayudarme te lo agraderé mucho.
Saludos y gracias
Respuesta
1
Para pasar parámetros, solo tienes que ponerlos separados de un espacio tras el nombre del archivo :
Si escribes esto :
Shell("Explorer.exe www.todoexpertos.com")
Al explorer le pasas por parámetro www.todoexpertos.com
si ejecutas tu aplicación así :
shell(ConstanteNombreAplicacion & " " & VariableParametro1 & " " & VariablePArametro2)
Ya tendrá tu aplicación los parámetros pasados pueden ser 10 (creo, nunca he pasado más de 3 si no era desde DOS con un batch).
Para recibir los parámetros, y quitarles las comillas (como texto los recibes) esta función te sirve :
Private Function LineaComandos() As String
Dim sTmp As String
Dim i As Integer
'Comprobar si hay algún archivo en la línea de comandos
sTmp = Trim$(Command$)
If Len(sTmp) Then
'Si tiene los caracteres de comillas, quitarselos
i = InStr(sTmp, Chr$(34))
If i Then
sTmp = Left$(sTmp, i - 1) & Mid$(sTmp, i + 1)
i = InStr(sTmp, Chr$(34))
If i Then
sTmp = Left$(sTmp, i - 1) & Mid$(sTmp, i + 1)
End If
End If
End If
LineaComandos = sTmp
End Function
Este ejemplo es de guille. Costasol.net aunque es correcto, yo usaría un while para controlar los parámetros y asegurarme que quito todas las comillas. Pero para un email te sirve.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas