Complementos

Como puedo determinar por código Macro, que y cuantos, Complementos están activos en una instancia Excel... Muy agradecido por la ayuda que me puedas dar...
Respuesta
1
Te paso una parte de la ayuda pero la verdad que no estoy muy seguro pues nunca tuve la necesidad
Ayuda del Excel
VBComponents (Propiedad)
Devuelve una colección de componentes contenidos en un proyecto.
Comentarios
Utilice la colección VBComponents para tener acceso, agregar o eliminar componentes en un proyecto. Un componente se puede encontrar en un formulario, un módulo o clase. ¿La colección VBComponents es una colección estándar que se puede utilizar en bloques For? Each.
Puede utilizar la propiedad Parent para devolver el proyecto en el que se encuentra la colección VBComponents.
En Visual Basic para Aplicaciones, puede utilizar el método Import para agregar un componente a un proyecto desde un archivo.
Gustavo... nuevamente mi agradecimiento por tu disposición...
Un Problema mal planteado se hace difícil de contestar y por ello te ruego me disculpes...
Es posible que yo tenga algunas confusiones de conceptos, que voy a tratar de aclarar:
¿Cuándo se abre la ventana del Editor de VB, a la izquierda aparece la ventana de Proyecto? VBA Proyect, y en la misma se ubican tanto los Libros Excel que están abiertos como los Proyectos Macros habilitados...
En realidad no se distinguir entre Complemento y Macro, tal vez aquí está mi confusión.. pero en todo caso mi problema conciste en que quiero conocer que proyectos Macros o Complementos se encuentran habilitados en un momento dado..
Mi programa comienza con una Macro automática al iniciarse la instancia Excel, en la Carpeta:
C:\Documents and Settings\Usuario\Datos de programa\Microsoft\Excel\INICIAR
Ahora bien esta Macro, aparece en la ventana de Proyecto del Editor VB, pero con el código que me enviaste, no la detecta, y tampoco alguna otra Macro (Libro de Excel grabado bajo la forma .XLA) que no estén identificados o incluidos en la lista de complementos de Excel.
Mi pregunta concreta sería: que Macros o que Proyectos o bien que Complementos pueden estar habilitados en un momento dado para así tomar mis decisiones en cuanto a dejarlas habilitadas o bien cerrar el archivo correspondiente para inhabilitarlas... y como ellos aparecen en esa ventana de Proyecto, pienso que debe existir alguna manera de poder verificar cuales están habilitadas en un momento dado...
Te agradezco la paciencia que tienes y muy agradecido por la ayuda que me estas brindando... Saludos... Juan..
El tema es que en el ejemplo está preguntando por algo puntual; ¿Cómo tenés armado el procedimiento? Porque deberías hacer algo como
Dim x As AddIn
For Each x In Application.AddIns
If x.Installed Then
MsgBox x.Name & "está instalado"
Else
MsgBox x.Name & "no está instalado"
End If
Next x
Gustavo... muchísimas gracias por tu prota respuesta...
Probé el código y funciona muy bien, pero sólo verifica los Complementos incluidos en la lista que se despliega en el Menú... Herramientas... Complementos... tal como tu dices...
¿Hay alguna forma que pueda determinar cuales Complementos están activos independientemente de esa lista y/o del Sub-Directorio donde se encuentren grabados?... tal como sucede con los Libros abiertos en la instancia Excel donde si se pueden determinar todos los Libros abiertos...
Perdona tanta molestia y muy agradecido por tu gentileza ...
Saludos ... Juan...
Muy agradecido... espero solucionar el problema con la información recibida... Saludos... Juan
Te paso el siguiente texto extraído de la ayuda; si tienes dudas repregunta y vemos como la seguimos.
Saludos
Gustavo
Propiedad AddIns
Vea también Corresponde a EjemploDetallesDevuelve un conjunto AddIns que representa todos los complementos del cuadro de diálogo Complementos (menú Herramientas). Es de sólo lectura.
Para obtener información sobre cómo devolver un solo elemento de un conjunto, consulte Devolver un objeto de un conjunto.
Comentarios
El uso de este método sin un calificador de objeto equivale a usar Application. Addins.
Ejemplo
Este ejemplo muestra el estado del complemento Herramientas para análisis. Tenga en cuenta que la cadena empleada como índice del conjunto AddIns es el titulo del complemento, no su nombre de archivo.
If AddIns("Analysis ToolPak").Installed = True Then
MsgBox "Analysis ToolPak add-in is installed"
Else
MsgBox "Analysis ToolPak add-in is not installed"
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas