Logo_Access_global_380x114Favicon_Access_global_180x180Logo_Access_global_380x114Logo_Access_global_380x114
  • Home
  • University
    • Destellos formativos
  • Labs
  • TV
  • Secciones
    • El mundo de Access
    • Explorando VBA
      • Artículos sobre VBA
      • Un trocito de código
    • Entrevistas
      • Profesionales de Access
    • El rincón de Excel
    • Bases de datos
      • MS SQL
      • MySQL
      • postgreSQL
      • SQLite
    • Clases magistrales
    • Utilidades hechas con Access
  • Access en el mundo
  • ¿Quiénes somos?
  • Cómo colaborar
  • Eventos
✕
            No hay resultados Mostrar todos los resultados
            vba: ftp con Access
            22/12/2022
            vba: descubre los colores
            31/12/2022
            Mostrar todos

            vba: más sobre la descarga de archivos

            Publicado por Luis Viadel
            Categorías
            • Destellos formativos
            Etiquetas
            • DeleteUrlCacheEntry
            • ShellExecute
            • URLDownloadToFile
            Option Compare Database
            Option Explicit
            
            Public Declare PtrSafe Function DeleteUrlCacheEntry Lib "wininet" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
            Public Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (Optional ByVal pCaller As Long, Optional ByVal szURL As String, Optional ByVal szFileName As String, Optional ByVal dwReserved As Long, Optional ByVal lpfnCB As Long) As Boolean
            
            Public Const urlsite = "https://Mi-URL-de-descarga/"
            Public Const nomfic = "Imagen_test.jpg"
            
            Sub DescargaVersion_test()
            
               Call DescargaVersion(urlsite, nomfic)
            
            End Sub
            
            Public Function DescargaVersion(urlsite As String, nomfic As String) As Boolean
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vba-mas-sobre-la-descarga-de-archivos
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : DescargaVersion
            ' Autor             : Luis Viadel | https://cowtechnologies.net
            ' Fecha             : junio 2015
            ' Propósito         : descargar un fichero desde una ubicación en Internet
            ' Retorno           : verdadero/falso según haya tenido éxito o no la descarga
            ' Argumento/s       : la sintaxis de la función consta de los siguientes argumentos:
            '                     Parte             Modo           Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     urlsite      Obligatorio      url donde se encuentra el fichero
            '                     nomfic       Obligatorio      Nombre del fichero de destino
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Referencias       : https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775123(v=vs.85)
            '                     https://learn.microsoft.com/en-us/windows/win32/api/wininet/nf-wininet-deleteurlcacheentry
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            'Test:              : para adaptar este código en tu aplicación puedes basarte en este procedimiento test. Copiar el bloque siguiente al
            '                     portapapeles y pega en el editor de VBA. Descomentar la línea que nos interese, rellena los datos de la url y los del
            '                     fichero que deseas descargar y pulsa F5 para ver su funcionamiento.
            '
            'Sub DescargaVersion_test()
            '
            '   Call DescargaVersion(urlsite, nomfic)
            '
            'End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            Dim ruta As String, URLNueva As String
            Dim resultado As Long
            
                ruta = Application.CurrentProject.Path & "\pruebas\"
            
                URLNueva = urlsite & nomfic
            
            'Limpia la caché para que pueda descargar el nuevo fichero
                  
                DeleteUrlCacheEntry URLNueva
                
                resultado = URLDownloadToFile(0, URLNueva, ruta & nomfic, 0, 0)
               
                If resultado <> 0 Then GoTo LinErr
                
                Call ShellExecute(0&, "open", ruta, 0&, vbNullString, 1&)
                    
                DescargaVersion = True
                
                Exit Function
            
            LinErr:
                DescargaVersion = False
                
                Select Case resultado
                    Case 5
                        MsgBox "No tienes conexión a Internet"
                    Case 6
                        MsgBox "Se ha producido un error en la descarga. No he podido encontrar el fichero"
                    Case Else
                        MsgBox "Se ha producido un error en la descarga. No he podido encontrar la carpeta de descarga "
                End Select
            
            End Function
            
            ¡Ver en el repositorio!
            Compartir
            51
            Luis Viadel
            Luis Viadel

            Entradas relacionadas

            07/02/2023

            VBIDE series (Módulos): agregar módulo


            Leer más
            06/02/2023

            VBIDE series (Módulos): Listar módulos


            Leer más
            03/02/2023

            vba: reiniciar MS Access


            Leer más

            Deja una respuesta Cancelar la respuesta

            Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

            ETIQUETAS

            Access API BD Close Colores Comandos ComboBox Consultas Coordenadas Date Diseño DoCmd Excel Fecha FileExists FileSystemObject Filtros For Each...Next Formulario Formularios Funciones GetFolder Google maps images Informes Jose Bengoechea Kill Left Listbox Matrices Menú contextual Node ODBC References Ribbon Right RunCommand Split Tablas Timer TreeView Undo VBA VBIDE With...End With

            ÚLTIMAS ENTRADAS

            • 0
              VBIDE series (Módulos): agregar módulo
              07/02/2023
            • 0
              VBIDE series (Módulos): Listar módulos
              06/02/2023

            ¿QUIERES PUBLICITAR TU EMPRESA AQUÍ?

            SUSCRÍBETE A NUESTRO
            NEWSLETTER

            Recibirás información puntual sobre el mundo de Access y VBA

            ¡Próximamente!

            Promovemos el uso de Access y de la programación en VBA en todo el mundo

            Centro de conocimiento


            Toda la sabiduría de los mejores programadores de Access y VBA a tu alcance.

            Legal

            Política de privacidad

            Condiciones de uso

            Condiciones del redactor

            ®Access Global 2021 | All right reserved
                      No hay resultados Mostrar todos los resultados