VBIDE series (Complementos): Listar complementos
20/02/2023vba: complementos de Access
22/02/2023'Colocar el siguiente código en los eventos "Al hacer click" de dos botones Private Sub btnConectar_Click() Dim strAddin As String Dim intStr As Integer Dim intI As Integer If IsNull(Me.lstAddIns.Value) Then MsgBox "Debes seleccionar un complemento de la lista. Selecciónalo y luego podrás conectarlo" Exit Sub End If strAddin = Me.lstAddIns.Value intStr = InStr(1, strAddin, " ") 'Extraemos el nombre If intStr = 0 Then strAddin = strAddin Else strAddin = Left(strAddin, intStr - 1) End If If strAddin = "" Then Exit Sub End If If Application.VBE.AddIns(strAddin).Connect = True Then MsgBox "El complemento ya está conectado" Else Conectar (strAddin) ListaComplementos Me End If End Sub Private Sub btnDesconectar_Click() Dim strAddin As String Dim intStr As Integer Dim intI As Integer If IsNull(Me.lstAddIns.Value) Then MsgBox "Debes seleccionar un complemento de la lista. Selecciónalo y luego podrás desconectarlo" Exit Sub End If strAddin = Me.lstAddIns.Value intStr = InStr(1, strAddin, " ") 'Extraemos el nombre If intStr = 0 Then strAddin = strAddin Else strAddin = Left(strAddin, intStr - 1) End If If strAddin = "" Then Exit Sub End If If Application.VBE.AddIns(strAddin).Connect = False Then MsgBox "El complemento no está conectado" Else Desconectar (strAddin) ListaComplementos Me End If End Sub 'Colocar código en módulo estándar Option Compare Database Option Explicit Public Sub ListaComplementos(frm As Form) '----------------------------------------------------------------------------------------------------------------------------------------------- ' Fuente : https://access-global.net\vbide-series-complementos-conectar-y-desconectar-complementos ' Destello formativo 270 '----------------------------------------------------------------------------------------------------------------------------------------------- ' Título : ConectaComplementos ' Autor original : Alba Salvá ' Creado : desconocido ' Adaptado por : Luis Viadel ' Propósito : mostrar un listado con todos los complementos del VBIDE de nuestro programa para conectarlos y desconectarlos '----------------------------------------------------------------------------------------------------------------------------------------------- ' 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 : No se mostrarán los complementos de Access '----------------------------------------------------------------------------------------------------------------------------------------------- ' 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 las líneas y pulsa F5 para ver su funcionamiento. ' 'Private Sub Form_Load() ' ' ListaComplementos Me ' 'End Sub ' '--------------------------------------------------------------------------------------------------------------------------------------------------- Dim intI As Integer Dim AddIns As VBIDE.AddIns Dim AddinName As String 'Limpiamos el listbox frm.lstAddIns.RowSource = "" 'Como no es una colección, no podemos recorrerlo con For Each...Next hay qye hacerlo con For Set AddIns = Application.VBE.AddIns For intI = 1 To AddIns.Count AddinName = AddIns(intI).ProgId If AddIns(intI).Connect = True Then frm.lstAddIns.AddItem AddinName & " | Conectado" Else frm.lstAddIns.AddItem AddinName & " | Desconectado" End If Next Set AddIns = Nothing End Sub Public Sub Conectar(strAddin As String) Application.VBE.AddIns(strAddin).Connect = True End Sub Public Sub Desconectar(strAddin As String) Application.VBE.AddIns(strAddin).Connect = False End Sub
Destello 270 - VBIDE Complementos
1 archivo(s) 448.20 KB