En excel puede resultar más sencillo usar librerías dll. Una de las ventajas de usar estas librerías es que el código dentro de ellas no puede ser modificado por ninguna manera, lo que resulta útil cuando ya se tiene definidas las funciones o subrutinas que se necesitan dentro de ella.

Estas librerías dll pueden crearse usando lenguajes como visual basic, c++, c#, etc. Usar estos lenguajes nos permite crear interfaces más amigables como ayudas y otros. Para explicar el uso de una librería, tomaré como ejemplo la que se encuentra en el sitio web: http://xcell05.free.fr/english/index.html.

Allí se puede descargar el archivo
FUNCUSTOMIZE.ZIP

Este archivo zip contiene los siguientes documentos:
– Funcustomize: Archivo de ayuda
– Funcustomize.dll : Librería donde están las funciones
– FunCustomize_Demo.txt : Block de notas
– FunCustomize_Demo.xla : Archivo xla de excel o addin

Esta librería permite que las funciones que creemos en vba aparezcan en el wizard con ayuda incluido algo que no es posible usando sólo vba.

En este punto es importante mencionar que las funciones que se encuentran dentro de una librería dll no se pueden llamar directamente en excel, se necesita un código de excel vba con el cual llamar lo que se encuentra dentro de esta librería. En el caso de estudio en el archivo xla se encuentra dentro del evento Auto_Open() el siguiente código:

[code language=”vb”]
Sub Auto_Open()
Dim DLLPath As String
DLLPath = ThisWorkbook.Path & "\FunCustomize.dll"
If Dir(DLLPath) = "" Then
MsgBox "Before using this add-in, you must copy FunCustomize.dll " & _
vbLf & "in the same directory.", vbOKOnly + vbExclamation, "FunCustomize Demo"
Exit Sub
End If
Application.RegisterXLL ThisWorkbook.Path & "\FunCustomize.dll"
Run [FunCustomize], ThisWorkbook.Name, shFunctions.Range("A2:Z5")
Application.SendKeys "%^{F9}"
End Sub
[/code]

En la librería en cuestión, el archivo .xla contiene en sus primeras líneas un código instrucciones para cargar la libería y registrar las funciones, los nombres de estas funciones, descripción de lo que hacen y ayuda de los argumentos se encuentran en el rango “A2:Z5” que hace que se reconozcan un rango de las celdas que se encuentra dentro de una de las hojas del archivo xla.

Tener presente que de un archivo .xla sólo se puede usar los componentes que tiene internamente como funciones o procedimientos. Para que puedas ver las hojas del archivo .xla, debes cambiar la propiedad IsAddin del complemento a False.

De la fuente el rango inicial al que hace referencia es “A2:Z5”, lo he modificado a “A2:Z6” y he agregado la función INGEAPPS así como su descripción y ayuda para los parámetros que toma. Estos datos han sido agregados en la fila 6, esta función no hace más que multiplicar dos números. La versión modificada puedes descargarla aquí.

Luego que se ha agregado la función, esta aparecerá como normalmente aparecen todas las otras funciones que tiene incorporada excel y además tendrá una ventana de ayuda cuando se presione fx en la barra de fórmulas. Todas estas características las obtiene gracias al código que se encuentra dentro de la librería dll.

Espero que haya servido para conocer más acerca del uso de las librerías dll y sea útil y le sirva a muchos. Suerte.

Usar libreria dll en Excel

Deja un comentario

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