Martha, puede descargar el archivo (debe estar compartido) conociendo el respectivo link. Le explico con este formulario.
Observe la imagen en fondo amarillo muestro las 2 partes que conforman un archivo de Google Drive. La primera es un valor constante de Google Drive y la segunda, es el ID del documento. Utilizo una API de Windows y una función.
CÓDIGO DEL BOTÓN DESCARGAR
Private Sub DescargarArchivo_Click()
Dim Url As String
Dim NombreArchivoLocal As String
Dim strFijo As String
If IsNull(Me.ctl_link) Or Me.ctl_link = "" Then
MsgBox "Se requiere a Url del archivo", vbInformation, "Error"
Me.ctl_link.SetFocus
Exit Sub
End If
If IsNull(Me.ctlarchivo) Or Me.ctlarchivo = "" Then
MsgBox "Se requiere el nombre del archivo y la extensión", vbInformation, "Error"
Me.ctlarchivo.SetFocus
Exit Sub
End If
strFijo = "https://drive.google.com/uc?export=download&id="
Url = strFijo & extraer_id_google_drive(Me.ctl_link)
NombreArchivoLocal = CurrentProject.Path & "\DescargaConAPI\" & Me.ctlarchivo
'Descarga el archivo desde la URL y lo guarda en la ubicación local
If URLDownloadToFile(0, Url, NombreArchivoLocal, 0, 0) = 0 Then
MsgBox "Archivo " & Me.ctlarchivo & " descargado con satisfactoriamente", vbInformation, "Le informo"
Else
MsgBox "Error... no se descargo el archivo " & Me.ctlarchivo, vbCritical, "Cuidado"
End If
COPIE ESTE CÓDIGO EN UN MÓDULO
Option Compare Database
Option Explicit
Public Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" (ByVal pCaller As Long, _
ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function extraer_id_google_drive(enlace As String) As String
Dim pos_ini As Integer
Dim pos_fin As Integer
' Buscar la posición inicial del ID
pos_ini = InStr(enlace, "/d/") + Len("/d/")
' Buscar la posición final del ID
pos_fin = InStr(pos_ini, enlace, "/")
' Extraer el ID del enlace
extraer_id_google_drive = Mid(enlace, pos_ini, pos_fin - pos_ini)
End Function
Observe que en el ejemplo asigné por simplicidad una ruta fija para la descarga del archivo, en el campo Guardar como se debe indicar el nombre y la extensión que se le asigna al archivo descargado. Asumo que deben existir otras alternativas, pero esta me ha servido.
descarga archivos pero luego no se pueden abrir - José Antonio De Santiago De Santiago
Perdón funciona perfecto. Genial!!!Era un problema de permisos en el archivo DriveMuchas gracias - José Antonio De Santiago De Santiago