poner un link en el código para abrir un pdf en Google Drive

Dudas sobre código
magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

poner un link en el código para abrir un pdf en Google Drive

Mensajepor magdacardoner » Sab Abr 28, 2018 7:13 pm

Buenas tardes,

He añadido un botón en la ficha de cliente para poder acceder al pdf de cada cliente (que tiene por nombre el número de su ficha). Lo he hecho así y funciona:

Código: Seleccionar todo

Private Sub CmdPdfCCPAE_Click()
Dim PathRead As String
Dim PathFich As String
PathRead = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
PathFich = "E:\Cluster\BDCluster\CCPAE\" & Me!IdFitxaSoci & ".pdf"
Shell PathRead & " " & PathFich, vbMinimizedFocus
End Sub


Pero ahora he puesto estos pdf en el Google Drive para poder acceder desde diferentes ordenadores y al cambiar la ruta no funciona. Tal vez deba poner que abra el Google Chrome y luego poner el link, pero no sé cómo.

¿Alguien podría decirme cómo debo hacerlo?

Gracias,

Magda

Avatar de Usuario
Neckkito
Moderador
Mensajes: 766
Registrado: Dom Oct 25, 2015 3:42 pm

Re: poner un link en el código para abrir un pdf en Google Drive

Mensajepor Neckkito » Dom Abr 29, 2018 10:40 am

Hola!

Cualquier cambio supone trabajo, y en algunos casos más trabajo y en otros menos... je, je...

Si quieres poder acceder a archivos situados en gDrive yo te recomendaría hacer lo siguiente:

1.- Añadir un campo en la tabla de clientes donde vayas a poder meter la dirección del archivo pdf compartido de GDrive (un campo de texto de 255 caracteres o, si ves que no te basta, un campo de tipo texto largo).
2.- En el navegador, y dentro de gDrive, obtener los enlaces para compartir de cada uno de los pdfs y darlos de alta en el respectivo campo creado en el punto 1.
3.- En tu aplicación, en el formulario donde tienes los datos del cliente, añadir ese campo (si lo quieres ver pues basta añadirlo; si no lo quieres ver lo añades y sitúas su propiedad visible en NO). Supongamos que ese campo se llama [pdfGDrive]
4.- En ese formulario añades un botón de comando y en su evento "Al hacer clic" le generas el siguiente código.

Código: Seleccionar todo

Private sub...
If not isnull(me.pdfGDrive) then
application.followhyperlink me.pdfGDrive
Else
msgbox "El enlace del pdf no está informado en la base de datos",vbinformation,"SIN ENLACE"
End if
End sub


Y ya no te tienes que preocupar de si el PC cliente tiene Edge, Firefox, Chrome... Hace clic y se le abre el pdf en el navegador.

Si quieres hacer una prueba rápida créate un botón en cualquier formulario y, en su evento "Al hacer clic", escribe:

Código: Seleccionar todo

Private Sub ComandoXXX_Click()
    Application.FollowHyperlink "https://drive.google.com/open?id=10FLVBGGxOXQLYsNK-cMibJr4n6fB9w2C"
End Sub


Eso te debería permitir ver un pdf de uno de mis últimos ejemplos de la web.

Saludos.
Access MVP 2017-2019
http://bit.ly/NckAccess

magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Re: poner un link en el código para abrir un pdf en Google Drive

Mensajepor magdacardoner » Lun May 14, 2018 6:15 pm

Buenas tardes,

Disculpas por no haber contestado hasta ahora...

Así está perfecto, pero quisiera saber si es posible hacerlo sin tener que buscar el link y copiarlo en la tabla, ¿sería posible poner, en el código del evento "Al hacer click" del botón "Abrir PDF", un link fijo que abra la carpeta del GDrive en la que se encuentran los archivos de todos los clientes, que abra el pdf y que abra el archivo cuyo nombre es "número de la ficha del cliente.pdf"? Es decir, tal cómo lo tenía yo, pero abriendo la carpeta del GDrive con un link. De esta manera, si guardamos los archivos siempre en la misma carpeta con el número de ficha del cliente por nombre, el resto sería automático.

Gracias,

Magda

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 980
Registrado: Sab Oct 24, 2015 10:12 pm

Re: poner un link en el código para abrir un pdf en Google Drive

Mensajepor Sveinbjorn » Mar May 15, 2018 10:34 am

Hola Magda,

yo entiendo (al menos con Dropbox sí funciona), que puedes abrir el archivo de la carpeta "física" de GDrive en tu PC de la misma forma que indicas en tu primer mensaje, simplemente poniendo la ruta al archivo en la carpeta de GDrive:

Por ejemplo, si tienes la carpeta de GDrive en C:\Users\Usuario\Google Drive, y dentro tienes el archivo AA-Teo.pdf en la subcarpeta Ejemplos, esto te tendría que funcionar:

Código: Seleccionar todo

Private Sub CmdPdfCCPAE_Click()
Dim PathRead As String
Dim PathFich As String
PathRead = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
PathFich = "C:\Users\Usuario\Google Drive\Ejemplos\AA-Teo.pdf"
Shell PathRead & " " & PathFich, vbMinimizedFocus
End Sub


La desventaja frente a lo que te propone Miquel es que en cada ordenador tendrás que personalizar la ruta de la carpeta Google Drive.

Un saludo
Sveinbjorn El Rojo

magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Re: poner un link en el código para abrir un pdf en Google Drive

Mensajepor magdacardoner » Mié May 16, 2018 12:39 am

Buenas noches,

Dividí la base de datos de manera que las tablas las fuera a buscar al Dropbox y también puse en el Dropbox los archivos de los clientes. Funcionaba bién, pero leí que hacerlo en Dropbox daba problemas al compartir y quería probar con GDrive. La base de datos funciona bien con las tablas en GDrive, pero los archivos de los clientes no lo consigo. Incluso he copiado la dirección que sale en "Tablas vinculadas" y nada. Por eso creo que debo hacerlo poniendo la url, pero quisiera que la url fuera la de la carpeta, no del archivo, para que pueda ser igual para todos. De manera que primero vaya a la carpeta DDPI del GDrive y luego abra el archivo que tenga por nombre el número de ficha del cliente .pdf.

El código que he puesto es:

Código: Seleccionar todo

Private Sub CmdPdfCCPAE_Click()
Application.FollowHyperlink "https://drive.google.com/drive/folders/etc..."
End Sub


Esto me abre la carpeta de GDrive donde están todos los archivos de los clientes. Quisiera saber si a continuación puedo poner un código que me abra el archivo correspondiente al cliente usando: Me!IdFitxaSoci & ".pdf, aunque sea en vista previa, porque ya veo que no sirve de nada abrir el Adobe Acrobat.

Si no se puede hacer así, no me quedará más remedio que poner los links en la tabla...

Muchas gracias por vuestra paciencia,

Magda

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 980
Registrado: Sab Oct 24, 2015 10:12 pm

Re: poner un link en el código para abrir un pdf en Google Drive

Mensajepor Sveinbjorn » Vie May 18, 2018 8:49 am

Magda, si usas como "ruta" el enlace a internet, deberás hacerlo usando el link público del archivo como te indica Neckkito, pues por lo que veo (y no tengo instalado GDrive en el PC), es que a la carpeta (o subcarpeta) en la URL se le asigna un código alfanumérico y no su nombre, por ejemplo:
https://drive.google.com/drive/folders/ ... UU1SndkUGc

Si en tus PCs tienes instalada la aplicación GDrive, la forma de indicar la ruta es exactamente igual que a cualquier otra carpeta existente en el PC, que es lo que te indicaba en mi anterior respuesta, por ejemplo:
C:\Users\Usuario\Google Drive\Ejemplos DAF\

Pero a menos que tengas en todos los PCs la misma ruta para la aplicación de GDrive, tendrás que o bien personalizar cada ruta en los códigos de cada aplicación, o bien tener una tabla con la ruta en cuestión para cada PC y que con DLookup la coja de ahí cuando lo necesites. Por ejemplo:
Tienes un tabla TRuta con un único campo Ruta en la que tendrás un único registro (que será la ruta específica a la carpeta GDrive de cada PC)
En tu código pondrías:

Código: Seleccionar todo

Private Sub CmdPdfCCPAE_Click()
Dim PathRead As String
Dim PathFich As String
Dim rutaGDrive As String
PathRead = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
rutaGDrive=DLookUp("Ruta","TRutas")   ' Esto te busca el registro en la tabla, por ejemplo "C:\Users\Usuario\Google Drive\"
PathFich = rutaGDrive & "Carpeta\Subcarpeta\" & Me!IdFitxaSoci & ".pdf"   'Donde Carpeta\Subcarpeta... será el resto de la ruta de carpetas que necesites
Shell PathRead & " " & PathFich, vbMinimizedFocus
End Sub
Sveinbjorn El Rojo

magdacardoner
Nivel 3
Mensajes: 61
Registrado: Mié Nov 29, 2017 2:42 pm

Re: poner un link en el código para abrir un pdf en Google Drive

Mensajepor magdacardoner » Vie May 18, 2018 1:41 pm

Vale, pruebo de hacerlo así... Muchas gracias,

Magda


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados