woensdag 23 mei 2018

Personal.xlsb aanmaken en verwijderen

In Personal.xlsb kun je macro's opslaan die in elk Excelbestand gebruikt kunnen worden. Hieronder een korte beschrijving hoe je het aanmaakt en hoe je het weer kunt verwijderen (ook als je geen rechten hebt op de map waarin personal.xlsb is opgeslagen).

Macro's of VBA-code die je in meerdere bestanden wilt gebruiken, kun je opslaan in je persoonlijke macrowerkmap zodat de macro altijd beschikbaar is zodra je Excel opent. Uiteraard moet je de code zo schrijven dat het ook overal te gebruiken is, dus niet verwijzen naar bepaalde werkbladnamen o.i.d.

Als je in Excel het lint Ontwikkelaars hebt geactiveeerd, dan kun je vanaf dat lint in het onderdeel Programmacode een macro starten door op de button "Macro opnemen" te klikken.
Een snellere manier om een macro te starten is te klikken op het icoontje linksonder in de statusbalk rechts van de tekst "Gereed".
Als je een macro start dan krijg je het volgende scherm te zien:
Bovenaan vul je eventueeld irect een andere naam in voor de macro. Daaronder eventueel een sneltoets. Daaronder staat "Macro opslaan in:" en de dropdownlijst die je kunt openen geeft drie mogelijkheden:
- Deze werkmap, de standaard optie die staat ingesteld.
- Nieuwe werkmap, de macro wordt opgeslagen in een nieuw bestand.
- Persoonlijke macrowerkmap, de optie die we hier gaan bespreken.
Als je voor "Persoonlijke macrowerkmap" hebt gekozen dan wordt bij de eerste keer dat je hierin een macro gaat opslaan een bestand aangemaakt met de naam "personal.xlsb". Dit bestand staat (nadat je eerst Excel een keer hebt afgesloten) standaard in de map C:\Gebruikers\(naam gebruikers\)AppData\Roaming\Microsoft\Excel\XLSTART
In bedrijfsomgevingen kan het ergens anders staan en je kunt de map vinden met de volgende macro (gevonden op stackoverflow)

Sub Find_Personal_Macro_Workbook()

    Dim path As String
    path = Application.StartupPath
    MsgBox path

End Sub
Je kunt de standaard (Opstart)map via Bestand > Opties > Vertrouwenscentrum > Instellingen... wijzigen.

Als je het bestand niet kunt vinden, dan kan dat komen doordat het een verborgen bestand is. Daarvoor moet je deze verborgen bestanden zichtbaar maken in Windows Verkenner.

Als je de persoonlijke macrowerkmap weer wilt verwijderen, dan kan dit door Excel te sluiten en via Windows Verkenner het bestand Personal.xlsb te verwijderen.
Maar als de map verborgen of als je in een bedrijfsomgeving geen toegang hebt tot dit bestand, dan kun je met onderstaande macro het bestand alsnog verwijderen (meestal zijn de ouderwetse DOS-commando's gewoon beschikbaar op de bedrijfscomputers).
Onderstaande macro heb ik gevonden op de Excel-website van Ron de Bruin


Sub DeleteExample3()
    On Error Resume Next
    Kill "C:\Gebruikers\AppData\Roaming\Microsoft\Excel\XLSTART\personal.xlsb"
    On Error GoTo 0
End Sub

En is iets niet duidelijk, stuur dan een berichtje via het contactformulier van mijn website.