Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Subscribe to our mailing list

* indicates required

Bestand crasht Excel!!

Red mijn werkmap!
De beste tool voor Excel bestanden met problemen.

Cursussen

Excel VBA Masterclass (Engels)
Excel VBA voor Financials

Third party tools

Speed up your file

FastExcel
The best tool to optimise your Excel model!

Repair your file

Stellar Phoenix Excel Repair
Best tool to repair corrupt Excel sheets and objects
Home > Nederlandse site > Artikelen > Macro Verspreiden > Installatie
This page in English

Excel-macro's geschikt maken voor anderen.

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.xla"
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:

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