** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Adjuntar PDF a un registro
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAdjuntar PDF a un registro

 Responder Responder
Autor
Mensaje Invertir el orden de clasificación
Andresjorge Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Octubre/2006
Localización: Colombia
Estado: Sin conexión
Puntos: 920
Enlace directo a este mensaje Tema: Adjuntar PDF a un registro
    Enviado: 07/Octubre/2021 a las 16:35
Hola Xavi.

No estaba esa que dice usted, pero activé una que dice Microsoft Office 16.0 y listo.

Funciona a la perfección.

Por ahora podemos cerrar y muchísimas gracias.

Buen día
Andrew
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 07/Octubre/2021 a las 11:15
Hola,

Para que funcione deberás marcar la referencia Microsoft Office xx.x Object Library. ¿Lo has hecho?

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
Andresjorge Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Octubre/2006
Localización: Colombia
Estado: Sin conexión
Puntos: 920
Enlace directo a este mensaje Enviado: 06/Octubre/2021 a las 21:28
Xavi buenas tardes.

Le comento el avance al respecto.

Puse el código que me envió en un módulo al que llamé "HiperVincular"

En el formulario está el campo que va a almacenar el hipervínculo y se llama "Archivo. Puse un botón al que llamé "cmdBuscaArchivo" y a ese botón en el evento Al Hacer Clik le puse esto:

Private Sub cmdBuscaArchivo_Click()
Dim vFile As Variant
vFile = SeleccionaFichero()
Me.Archivo.Value = vFile
End Sub

Supondría yo, que con eso, debería abrirse el explorador para seleccionar el PDF y una vez seleccionado y que regrese a mi formulario, en el campo Archivo, quedaría el hipervínculo del PDF seleccionado.

Pero al hacerle click me abre la ventana del módulo y me marca en amarillo toda esta línea:

Function SeleccionaFichero(Optional strTitulo As String = "Selección de fichero", Optional strInitialFolder As String = "", Optional strFilters As String = "") As String

y me marca en azul esta línea desde la palabra

Dim fDialog          As Office.FileDialog

y en el botón emergente aparece el mensaje: Error de compilación. No se ha definido el tipo definido por el usuario.

Qué faltará o cual será el problema?

Gracias
Andrew
Arriba
Andresjorge Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Octubre/2006
Localización: Colombia
Estado: Sin conexión
Puntos: 920
Enlace directo a este mensaje Enviado: 30/Septiembre/2021 a las 22:49
Ok Xavi, muchas gracias, le voy a trabajar y le cuento.

Muchas gracias
Andrew
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 30/Septiembre/2021 a las 22:44
Te paso una función que permite seleccionar un fichero mediante el FileDialog de Office

Function SeleccionaFichero(Optional strTitulo As String = "Selección de fichero", Optional strInitialFolder As String = "", Optional strFilters As String = "") As String
    ' Requiere libreria Microsoft Office x.xx Object Library

    ' Función que selecciona un fichero y devuelve el Path entero
    '             Ejemplo:
    '              SeleccionaFichero(,,"Excel files|*.xls; *.xlsx; *.xlsm|Ficheros de texto|*.txt; *.bas")
    
    Dim fDialog          As Office.FileDialog
    
    Dim varFile     As Variant
    Dim arrFilters  As Variant
    Dim f           As Integer

    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

    With fDialog
        .AllowMultiSelect = False
.Title = strTitulo
        .InitialFileName = strInitialFolder
        .Filters.Clear
        If strFilters <> "" Then
            arrFilters = Split(strFilters, "|")
            For f = 0 To UBound(arrFilters) Step 2
                .Filters.Add arrFilters(f), arrFilters(f + 1), 1
            Next
        End If
        
        .Filters.Add "All Files", "*.*"
        If .Show = True Then
            For Each varFile In .SelectedItems
                SeleccionaFichero = varFile
            Next
        Else
            SeleccionaFichero = "#SinSeleccion"
            Exit Function
        End If
    End With
End Function
Xavi, un minyó de Terrassa

Mi web
Arriba
Andresjorge Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Octubre/2006
Localización: Colombia
Estado: Sin conexión
Puntos: 920
Enlace directo a este mensaje Enviado: 30/Septiembre/2021 a las 22:37
Gracias Xavi por tu aporte, pero esa ruta me permite abrir el PDF? cómo sería más o menos la forma de agregarla? Es decir, me imagino un botón que abra una especie de explorador y buscar la carpeta con el PDF, seleccionarlo y que se guarde en el campo correspondiente.

Algo así??




Andrew
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 30/Septiembre/2021 a las 22:21
Hola,

Desde mi punto de vista, incluir un campo en la tabla con la ruta al documento.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
Andresjorge Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Octubre/2006
Localización: Colombia
Estado: Sin conexión
Puntos: 920
Enlace directo a este mensaje Enviado: 30/Septiembre/2021 a las 21:31
Buenas tardes amigos foreros expertos. 

Quisiera pedir su ayuda para el siguiente caso:

Cuál sería el mejor procedimiento para vincular un PDF a un registro a través de un formulario con un botón. El PDF está previamente guardado en una carpeta en mi PC y qué formato tengo que dar al campo en la tabla donde voy a guardar ese PDF.

Muchas gracias

Att


Andrés
Andrew
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable