Tempos atrás (e põe tempo nisso) me vi as voltar com o desafio de escrever uma função personalizada no Excel que escrevesse números por extenso até a casa dos trilhões de reais. Passados alguns anos, novamente fui solicitado pela mesma função e fui obrigado e desenterrar o meu Excel Addin.
O AddIn é auto-instalável bastando apenas clicar duas vezes sobre ele (baixe o arquivo em Extenso no Excel). Para criar um sistema de auto-instalação de AddIn, você deve proceder como segue:
Option Explicit
Dim ExtensoInstalado As Boolean
Private Sub Workbook_AddinInstall()
ExtensoInstalado = True
End Sub
Private Sub Workbook_Open()
Dim naLista As Boolean
Dim nAddIn As AddIn
Dim nomeArq As String
For Each nAddIn In AddIns
If nAddIn.Name = ThisWorkbook.Name Then
naLista = True
End If
Next
If Not ThisWorkbook.IsAddin Then Exit Sub
Application.Workbooks.Add
If Not ExtensoInstalado Then
If Not naLista Then
AddIns.Add (ThisWorkbook.FullName)
MsgBox "O suplemento 'Extenso' foi instalado com sucesso...", vbInformation, "Suplemento instalado..."
End If
For Each nAddIn In AddIns
If nAddIn.Name = ThisWorkbook.Name Then
nomeArq = nAddIn.Title
End If
Next
Application.EnableEvents = False
AddIns(nomeArq).Installed = True
Application.EnableEvents = True
End If
End Sub
O restante da UDF você pode ver no AddIn.