Pagina's in dit artikel
-
Voorbereiding
-
Map of add-in
-
Menu's
-
Toolbars
-
Beperk toegang
-
Code beveiligen
-
Initialiseren
-
Instellingen
-
Talen
-
Installatie
-
Conclusie
Installatie
Het handmatige installeren van een invoegtoepassing is zo moeilijk
niet:
Kies Extra, Invoegtoepassingen... uit het menu en klik op Bladeren.
Selecteer de invoegtoepassing (zoek eventueel de juiste map op) en klik
OK en weer op OK. Om het de gebruiker makkelijk te maken, kan het
installeren ook via macro code worden geregeld. Zie ook het bestand "Setup
Utility.zip". Listing 9 toont de relevante code voor het
installeren.
Listing 9
Option
Explicit
Dim vReply
As Variant
Dim
AddInLibPath As String
Dim CurAddInPath As
String
Const sAppName
As String = "Demobestand maken menu"
Const sFilename As
String = "xlUtilDemo.xlam"
Const
sRegKey As String =
"xlUtilDemo" ''' RegKey for settings
Sub Setup()
vReply = MsgBox("De invoegtoepassing '" &
sAppName & "'" & vbNewLine & _
"zal in uw standaard
invoegtoepassingenmap" & vbNewLine & _
"worden geinstalleerd," &
vbNewLine & vbNewLine & "doorgaan?", _
vbYesNo, sAppName & "
Setup")
If vReply = vbYes
Then
On
Error Resume Next
Workbooks(sFilename).Close False
CurAddInPath = ThisWorkbook.Path & "\" & sFilename
AddInLibPath = Application.LibraryPath & "\" & sFilename
'User librarypath does not have a trailing path
separator
'AddInLibPath =
Application.UserLibraryPath & sFilename
On
Error Resume Next
FileCopy CurAddInPath, AddInLibPath
If
Err.Number <> 0 Then
SomeThingWrong
Exit
Sub
End If
With AddIns.Add(Filename:=AddInLibPath)
.Installed = True
End
With
Else
vReply =
MsgBox(prompt:="Installatie geannuleerd.", Buttons:=vbOKOnly,
Title:=sAppName & " Setup")
End
If
End Sub
Sub SomeThingWrong()
vReply = MsgBox(prompt:="Er ging iets
mis tijdens het kopieren" & vbNewLine _
& "van de invoegtoepassinge
naar de invoegtoepassingenmap:" _
& vbNewLine & vbNewLine &
Application.LibraryPath & "\" _
& vbNewLine & vbNewLine & "U kunt "
& sAppName & " handmatig installeren door het bestand" _
&
vbNewLine & sFilename & " zelf naar deze map te kopieren " _
&
vbNewLine & "en vervolgens installeren door" & vbNewLine _
&
"Extra, Invoegtoepassingen te kiezen uit het menu." _
& vbNewLine &
vbNewLine & "Klik nog niet op OK, doe eerst het kopieren met Windows
Verkenner." _
& vbNewLine & "U kunt dan even terug naar dit venster
om het pad te controleren.", _
Buttons:=vbOKOnly, Title:=sAppName &
" Setup")
End Sub
Sub Uninstall()
vReply = MsgBox("Wilt u de invoegtoepassing
" & sAppName & vbNewLine & _
"van uw systeem verwijderen?",
vbYesNo, sAppName & " Setup")
If vReply =
vbYes Then
CurAddInPath =
ThisWorkbook.Path & "\" & sFilename
AddInLibPath =
Application.LibraryPath & "\" & sFilename
On
Error Resume Next
Workbooks(sFilename).Close False
Kill AddInLibPath
DeleteSetting sRegKey
MsgBox "De invoegtoepassinge " & sAppName & " is van uw systeem
verwijderd." _
& vbNewLine & "Om het verwijderen te completeren
dient u " & sAppName _
& vbNewLine & "in het volgende
dialoogvenster te" & vbNewLine _
& "selecteren en akkoord te
gaan met de vraag" & vbNewLine & _
"of deze uit de lijst mag
worden verwijderd.", vbInformation + vbOKOnly
Application.CommandBars(1).FindControl(ID:=943,
recursive:=True).Execute
End
If
End Sub
De installatie code doet het volgende:
- Sluiten van de invoegtoepassing (deze kan namelijk al aanwezig
zijn en moeten worden vervangen);
- Het pad instellen waar het xla bestand staat (hetzelfde pad als
waar het installatiebestand staat);
- Het pad bepalen waar Excel haar invoegtoepassingen zal zoeken
- Het xla bestand kopiëren van de eerste naar de tweede map;
- Vervolgens wordt gecontroleerd of er fouten zijn opgetreden
tijdens het kopiëren;
- Tenslotte wordt de invoegtoepassing geïnstalleerd. De hier
getoonde programmacode kan zeer eenvoudig worden gebruikt voor
allerlei soorten invoegtoepassingen, door eenvoudigweg de inhoud ban
een paar constanten te wijzigen in de kop van de module (sAppName,
sFilename en sRegKey).
Tevens is een subroutine opgenomen voor het verwijderen van de
invoegtoepassing.
Een bestand met deze code erin kunt u
hier vinden.
Invoegtoepassing automatisch laten bijwerken
Dit artikel toont hoe je automatische
updates voor je invoegtoepassing via je website kunt regelen.
Andere installatie programma's
Deze pagina beschrijft hoe Excel omgaat met invoegtoepassingen en hoe
die kunnen worden geinstalleerd. Bevat tevens een installatie script
voor het pakket "Setup Factory" voor Excel invoegtoepassingen:
Installing An Excel Add-in Using
Setup Factory