Ayuda sobre visual basic

Hola, no tengo mucha experiencia en visual basic, y estoy realizando un trabajillo y hay una cosa que no me termina de salir. Imagino que podrás ayudarme, pues creo que no es muy complicado.
Bueno, lo que quiero hacer es esto:
call shell (direccion_programa$ direccion_archivo$, 1)
Quiero abrir un archivo asociado a un programa poniendo como rutas dos variables que acumulan la dirección pero no se como es la sintaxis exactamente
Si pongo solo esto si me abre el programa, pero poniendo lo anterior no me funciona.
call shell (direccion_programa$ , 1)
Muchas gracias.

2 respuestas

Respuesta
1
El tema es que no estas sumando las variables, también tienes que tener en cuanta el espacio de separación entre el programa y el archivo asociado, fíjate de probar algo así:
Ejecutar = direccion_programa$ & " " & direccion_archivo$
call shell (Ejecutar, 1)
Cualquier duda me consultas.
Respuesta
1
Supongo que lo que tu deseas es abrir un archivo, y que este archivo se abra con el programa que tenga asociado por su extensión... para realizar esto necesitas una llamada a una función de la api, no te preocupes que no es complicado.
Basta con que añadas, si no lo tienes ya, un módulo a tu proyecto y que en dicho modulo pongas el siguiente código:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
----
Ahora en el sitio que desees que sea donde se ejecute pon el siguiente código en vez de usar el shell que tienes puesto:
Call ShellExecute(0&, "open", "midoc.doc", 1, "c:\", 1
Ya me contaras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas