Visual Basic - No se abre archivo con espacios en blanco

Life is soft - evento anual de software empresarial
   
Vista:

No se abre archivo con espacios en blanco

Publicado por Jose (3 intervenciones) el 08/05/2009 18:15:10
Hola
Necesito ayuda para saber por que no se abre un archivo cuyo nombre tiene espacios en blanco intermedios.
Estoy haciendo una aplicación en visual que en una parte quiero que se abra Word, Excel, etc. y el archivo elegido previamente mediante el control CommonDialog.
Si el nombre del archivo que elijo no tiene espacios en blanco todo funciona perfectamente.
Si por el contrario los tiene, se lanza la aplicación de Office del tipo de archivo elegido, pero no encuentra el nombre completo del archivo o eso me dice por ejemplo Word.
He comprobado que mi aplicación le da todos los datos correctos a Visual y utilizo la función Shell (ruta desde donde arrancar Winword y ruta completa del fichero elegido, aunque este contenga espacios en blanco en su nombre).
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No se abre archivo con espacios en blanco

Publicado por Rolando Lau (115 intervenciones) el 08/05/2009 23:17:36
Prueba poniendo el nombre del archivo en corchetes :

[Nombre del archivo ]

Bueno , espero te sirva

saludos

Rolando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No se abre archivo con espacios en blanco

Publicado por Jose (3 intervenciones) el 09/05/2009 11:04:58
Gracias Rolando, pero sigue sin funcionar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No se abre archivo con espacios en blanco

Publicado por Chicho (80 intervenciones) el 09/05/2009 19:48:47
Yo lo hago así y me funciona a la perfección:

Programa = "c:windows otepad.exe"
Archivo = "C:Archivos de ProgramaCucusoftLeer Primero.txt"

Shell Programa & " " & Archivo, vbNormalFocus

///////////////////////////////////////////////////////////////////////////////////////
Si eso no funciona podes usar esta función, que lo que hace ejecutar el archivo con el programa predeterminado a la extencion del mismo, lógicamente el programa predeterminado varia según la configuración de cada PC.

Public Sub ExecuteFile(FilePath As String)
On Error GoTo error
ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & (FilePath), vbMaximizedFocus)
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub

Por ejemplo si en tu PC usas el Winamp para los archivos mp3 cuando abras un archivo "nombre.mp3" con esta función, va a abrir el Winamp

Espero que te sirva
Saludos
CHicho!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No se abre archivo con espacios en blanco

Publicado por jose (3 intervenciones) el 09/05/2009 20:33:49
Ya lo he conseguido, no basta con la función Shell, es necesario utilizar la API Shellexecute declarandola previamente publica.
Gracias de todas formas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar