Visual Basic.NET - Abrir pdf ruta relativa

 
Vista:

Abrir pdf ruta relativa

Publicado por Germán (19 intervenciones) el 03/01/2009 14:57:46
Hola, tengo una aplicacion en visual, que al darle a un boton de ayuda, debe abrir un archivo .pdf en el adobe reader. El problema que tengo, es que ese archivo no tiene un ruta fija, sino que depende de donde instale el programa el usuario. En el proyecto instalador, agrego en la carpeta de la aplicacion el archivo pdf, y la instruccion que uso para abrirlo es:
Shell("Manual del usuario.pdf")
Me dice que el archivo no lo encuentra, me imagino que es un problema de rutas
Un saludo
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:Abrir pdf ruta relativa

Publicado por Adrian Rodriguez (1 intervención) el 04/01/2009 00:33:23
Hola,

A continuación veras el código con la solución, pero es importante acotar que la solucion esta en vb.net si la quieres para vb6.0 solo tienes que cambiar Application.StartupPath por App.Path, de igual forma aloje el proyecto de esta solución en mi sitio http://www.adrianrodriguez.org/archivos/rutaNet.zip

Private Sub Btn_Mostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Mostrar.Click

'variable donde se alojara la ruta de la aplicación
Dim ruta As String

'obtengo la ruta donde se encuentra la aplicación
ruta = Application.StartupPath

'verifico si el ultimo caracter de la ruta es "" si no es asi lo asigno para poder concatenar el nombre del archivo
If ruta.PadRight(1) <> "" Then ruta += ""

'verifico si el archivo se encuentra
If Dir(ruta & "Documento.pdf", FileAttribute.Archive) <> "" Then
'ejecuto el archivo
System.Diagnostics.Process.Start(ruta & "Documento.pdf")
Else
'No se encontro el archivo
End If

End Sub

Saludos,

Lic. Adrian Rodriguez
http://www.adrianrodriguez.org
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:Abrir pdf ruta relativa

Publicado por Germán (19 intervenciones) el 05/01/2009 22:36:49
Hola y muchas gracias por contestar, sin embargo sigue sin funcionarme, desconozco la razon. Te pongo el código para que lo veas:

Private Sub UsoDeLaAplicaciónToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UsoDeLaAplicaciónToolStripMenuItem.Click
'variable donde se alojara la ruta de la aplicación
Dim ruta As String

'obtengo la ruta donde se encuentra la aplicación
ruta = Application.StartupPath

'verifico si el ultimo caracter de la ruta es "" si no es asi lo asigno para poder concatenar el nombre del archivo
If ruta.PadRight(1) <> "" Then ruta += ""

'verifico si el archivo se encuentra
If Dir(ruta & "Manual del usuario.pdf", FileAttribute.Archive) <> "" Then
'ejecuto el archivo
System.Diagnostics.Process.Start(ruta & "Documento.pdf")
Else
'No se encontro el archivo
MsgBox("error")
End If
End Sub

Si ejecuto el programa desde el visual, me sale el mensaje de error, porque el archivo no se debe encontrar ahí, pero si instalo la aplicación y meto el archivo en la carpeta del programa, no me sale nada, como si no le diera aningún botón.

Gracias de nuevo
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:Abrir pdf ruta relativa

Publicado por xepo (1 intervención) el 15/03/2019 13:26:51
hola German,
asi deberia funcionarte:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub UsoDeLaAplicaciónToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UsoDeLaAplicaciónToolStripMenuItem.Click
    'variable donde se alojara la ruta de la aplicación 
    Dim ruta As String
 
    'obtengo la ruta donde se encuentra la aplicación 
    ruta = Application.StartupPath
 
    'verifico si el ultimo caracter de la ruta es "" si no es asi lo asigno para poder concatenar el nombre del archivo 
    If ruta.PadRight(1) <> "" Then ruta += ""
 
    'verifico si el archivo se encuentra 
    If Dir(ruta & "Manual del usuario.pdf", FileAttribute.Archive) <> "" Then
        'ejecuto el archivo 
 
        Using p As New Process
            p.StartInfo.FileName = (ruta & "Documento.pdf")
            p.StartInfo.Verb = "Open"
            p.Start()
        End Using
 
    Else
        'No se encontro el archivo 
        MsgBox("error")
    End If
End Sub
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