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: Introducción al VBIDE
            27/01/2023
            VBIDE series (Referencias): verificar la existencia de una referencia
            31/01/2023
            Mostrar todos

            VBIDE series (Referencias): Listar referencias

            Publicado por Alba Salvá
            Categorías
            • Destellos formativos
            Etiquetas
            • Count
            • IIf
            • References
            • VBIDE
            Option Compare Database
            Option Explicit
            
            Sub ListadoReferencias(frm As Form)
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vbide-series-referencias-listar-referencias/
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : ListadoReferencias
            ' Autor original    : Alba Salvá
            ' Creado            : desconocido
            ' Adaptado por      : Luis Viadel
            ' Propósito         : mostrar un listado de referencias de nuestro programa con su descripción, tipo, ubicación, su dirección física y el GUID
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Referencias       : Microsoft Visual Basic for Applications Extensibility 5.3
            '                     C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB
            '                     {0002E157-0000-0000-C000-000000000046}
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Información       : https://learn.microsoft.com/es-es/office/vba/api/access.application.vbe
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Test:             : Para adaptar este código en tu aplicación puedes basarte en este procedimiento test.  Copia el bloque siguiente al
            '                     portapapeles y pega en el editor de VBA en la carga de un formulario.
            '                     Descomenta la línea que te interese y pulsa F5 para ver su funcionamiento.
            '
            'Private Sub Form_Load()
            '
            '    listadoReferencias Me
            '
            'End Sub
            '
            '---------------------------------------------------------------------------------------------------------------------------------------------------
            Dim objRef As VBIDE.reference   ' Referencia
            Dim objRefs As VBIDE.References ' Colección
            
                frm.lstRefs.RowSource = ""
                frm.lstRefs.Requery
             
            'Listar referencias utilizando VBIDE
                Set objRefs = Application.VBE.ActiveVBProject.References
                    For Each objRef In objRefs
                        frm.lstRefs.AddItem objRef.name & " | " & objRef.Description & " | " & IIf(objRef.BuiltIn, "Interna", "Externa")
            '            Debug.Print objRef.name, objRef.Description
            '            Debug.Print Space(14) & objRef.Guid
            '            Debug.Print Space(14) & objRef.BuiltIn
            '            Debug.Print Space(14) & objRef.IsBroken
            '            Debug.Print Space(14) & objRef.Type
            '            Debug.Print Space(14) & objRef.Major
            '            Debug.Print Space(14) & objRef.Minor
            '            Debug.Print vbNewLine
                    Next objRef
                    Form_Referencias.RefTotal = objRefs.Count
                Set objRefs = Nothing
            
            End Sub
            
            Sub ListadoReferenciasAccess(frm As Form)
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vbide-series-referencias-listar-referencias/
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : ListadoReferenciasAccess
            ' Autor original    : Luis Viadel
            ' Creado            : desconocido
            ' Propósito         : mostrar un listado de referencias de nuestro programa con sus propiedades
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Referencias       : Microsoft Visual Basic for Applications Extensibility 5.3
            '                     C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB
            '                     {0002E157-0000-0000-C000-000000000046}
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Información       : https://learn.microsoft.com/en-us/office/vba/api/access.reference
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Test:             : Para adaptar este código en tu aplicación puedes basarte en este procedimiento test.  Copia el bloque siguiente al
            '                     portapapeles y pega en el editor de VBA en la carga de un formulario.
            '                     Descomenta la línea que te interese y pulsa F5 para ver su funcionamiento.
            '
            'Private Sub Form_Load()
            '
            '    ListadoReferenciasAccess Me
            '
            'End Sub
            '
            '---------------------------------------------------------------------------------------------------------------------------------------------------
            Dim objRef As reference
            
                frm.lstRefs.RowSource = ""
                frm.lstRefs.Requery
             
            'Listar referencias mediante el objeto "References"
                Set objRef = References!Access
                    For Each objRef In References
                        frm.lstRefs.AddItem objRef.name
            '            Debug.Print objRef.name
            '            Debug.Print Space(14) & objRef.FullPath
            '            Debug.Print Space(14) & objRef.Guid
            '            Debug.Print Space(14) & objRef.BuiltIn
            '            Debug.Print Space(14) & objRef.IsBroken
            '            Debug.Print Space(14) & objRef.Kind
            '            Debug.Print Space(14) & objRef.Major
            '            Debug.Print Space(14) & objRef.Minor
            '            Debug.Print vbNewLine
                    Next objRef
            
                Set objRef = Nothing
            
            End Sub
            ¡Ver en el repositorio!
            Compartir
            56
            Alba Salvá
            Alba Salvá

            Entradas relacionadas

            30/03/2023

            Tratamiento de errores: compilación condicional


            Leer más
            29/03/2023

            Tratamiento de errores: errores personalizados


            Leer más
            28/03/2023

            Tratamiento de errores: Resume


            Leer más

            1 Comment

            1. Alba Salvá dice:
              30/01/2023 a las 12:34 pm

              Anexo a la magnífica exposición de Luis.

              La propiedad IsBroken indica si la referencia está incluida en el entorno de desarrollo o no, además también indica si existe la biblioteca correspondiente. Es útil cuando se instala una aplicación para saber si están instaladas las biliotecas necesarias para la correcta ejecución de la aplicación.

              La propiedad BuiltIn indica si es propia de Access (se instala con Access o con el RunTime, o incluso con el paquete de Office) o si es externa a la instalación.

              Cuando hago una aplicación que usa referencias además de las imprescindibles que se activan con Access, siempre hago la verificación de si están todas instaladas y activadas con IsBroken; si me devuelve true, intento instalarlas/activarlas desde VBA, y si no lo consigo o no la encuentra, presento un mensaje al usuario indicando que debe instalar la biblioteca correspondiente/necesaria, y cierro la aplicación.

              Un saludo.
              Alba.

              Responder

            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 Botones ComboBox Consultas CountOfLines CStr Diseño DoCmd Excel Exportar Fecha FileSystemObject Filtros For Each...Next Formulario Formularios Funciones Funciones de dominio GetFolder GetWindowRect Google maps Informes InStr Kill Left Listbox Mid Módulos Node ProcCountLines Procedimientos ProcOfLine References Replace Ribbon RunCommand Seguridad Split SysCmd Tablas TreeView VBA VBIDE

            ÚLTIMAS ENTRADAS

            • 0
              Tratamiento de errores: compilación condicional
              30/03/2023
            • 0
              Tratamiento de errores: errores personalizados
              29/03/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