Abrir un archivo desde Access con VBA

Hola espero que estés bien, tengo que hacerte una pregunta resulta que en un proyecto me piden que al dar clic en un Botón de opción me abra un archivo por ejemplo llamado "Ayuda.pdf" que este almacenado en la misma carpeta o unidad de almacenamiento en el que esta la aplicación en Access... He ejecutado la aplicación con los siguientes códigos pero la mayoría de ellos sirve solo cuando el archivo Ayuda.pdf esta en la unidad C: u otra,,, pero necesito que busque el archivo sin importar su ubicación.
'1er codigo que no funciona:
'Dim xWord As Object
' Dim xDoc As Object
' Set xWord = CreateObject("Word.Application")
' xWord.Visible = True
' Set xDoc = xWord.Documents.Open("C:\INSTRUCCIONES.DOC")
'2do codigo que no me funciona:
' Dim DocumentoWord As Word.Document
' Dim VariableWord As Word.Application
' Set VariableWord = New Word.Application
' Set DocumentoWord = VariableWord.Documents.Add("C:\INSTRUCCIONES.doc")
' 'Le hago visible, así tengo la oportunidad de ver los resultados
' VariableWord.Visible = True
'3er codigo Solo me abre un documento en word en blanco y genera errores la aplicacion:
'Dim Nada
'Nada = Shell("C:\Program Files\Microsoft Office\Office12\WINWORD.EXE", vbMaximizedFocus)
'Documents.Open FileName:="\INSTRUCCIONES.doc"
' 4to código,el siguiente codigo vba permite abrir cualquier archivo pero este tiene que estar en C:, por otra parte para ejecutar este codigo se tuvo que _
' incluir una mano de codigo en Modulo1
'Dim Resultado As Variant
' intentamos abrir el archivo
'Resultado = OpenFile("\Prueba.txt")
' si ha habido cualquier problema ...
' If Resultado <> True Then
' ' mostramos el mensaje que nos envía el sistema
' MsgBox Resultado
' End If
'¡/*****
' 5 to codigo el siguiente codigo sirve si esta en la unidad C: el archivo
'Shell "Notepad.exe \Prueba.txt", vbNormalFocus
'Solo sirve si esta el archivo en C o en una unidad especifica:
Dim nombrearchivo As String
'
nombrearchivo = "\Prueba.txt"
'
OpenFile (nombrearchivo)
¿Qué hago para que alguno de estos códigos me sirva?,,, gracias..
2

2 respuestas

1
Respuesta de
Buenas Noches prueba con esta función a ver solo cambia la ruta de tu archivo
Function AbrirPDf()
Dim RutaArchivo As String
RutaArchivo = CurrentProject.path & "\Ayuda\Ayuda.pdf"
If Len(RutaArchivo) = 0 Then
MsgBox "No se ha encontrado el archivo de ayuda", vbInformation, "Prueba"
Else
Application.FollowHyperlink RutaArchivo
End If
End Function
Hola muchas gracias por la atención prestada y su ayuda pues haciendo el seguimiento del código que usted me envío todo parece funcionar bien pero me sale con error denotado con linea de color amarilla la linea de código Application. ¿FollowHyperlink RutaArchivo si pongo el cursor en la linea de código en dicha linea . no me abre el archivo pero si me señala la ruta en donde se encuentra el archivo por que no me abre el archivo si me lo señala bien? Gracias!.
Buenas prueba de la siguiente forma
Se modifica la parte en negrita
Function AbrirPDf()
Dim RutaArchivo As String
RutaArchivo = CurrentProject.Path & "\Ayuda\Ayuda.pdf"
If Dir$(RutaArchivo) = "" Then
MsgBox "No se ha encontrado el archivo de ayuda", vbInformation, "Prueba"
Else
Application.FollowHyperlink RutaArchivo
End If
End Function
Hola muchas gracias por su ayuda quedo excelente, eso era lo que necesitaba,,,, felicidades y muchas bendiciones.. un abrazo desde Colombia!
Att. Hernán Camilo Martínez V.
Añade un comentario a esta respuesta
1
Respuesta de
Ok, mandame tu cuenta de correo y te envío un ejemplo:
Para que des click en el botón y busques el archivo cuando lo encuentras te lo abre.
Mi correo es: franciscoboaz@hotmail.com
Si me escribes recuérdame de que se trata
Hola don francisco muchas gracias por su interés ya solucione el inconveniente, tuve que pasar el archivo de ayuda a formato .pdf,,, ahí te paso el código:
Dim RutaArchivo As String
RutaArchivo = CurrentProject.Path & "\Proyecto en Access\Instrucciones.pdf"
If Len(RutaArchivo) = 0 Then
MsgBox "No se ha encontrado el archivo de ayuda", vbInformation, "Prueba"
Else
Application.FollowHyperlink RutaArchivo
End If
Muchas gracias pero de todos modos nos estaremos hablando ya que necesito arreglar otro inconveniente con la aplicación.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Access o hacer tu propia pregunta: