Excel-macros geschikt maken voor anderen

Pagina's in dit artikel

  1. Voorbereiding
  2. Map of add-in
  3. Menu's
  4. Toolbars
  5. Beperk toegang
  6. Code beveiligen
  7. Initialiseren
  8. Instellingen
  9. Talen
  10. Installatie
  11. Conclusie

Het lint aanpassen

Je kan het lint aanpassen, maar dat gaat niet met VBA. Hieronder zie je de interface van mijn RefTreeAnalyser:

Lint van Excel met een aangepaste tab
Lint van Excel met een aangepaste tab

Om dit te laten werken moeten heel wat stappen genomen worden:

We laten hier zien welke stappen er nodig zijn om volledig met de hand een nieuwe groep toe te voegen aan de Start tab. De nieuwe groep noemen we FlexFind en bevat één knop, genaamd FlexFind. Door op die knop te drukken voeren we een macro uit die we FlexFind2007 hebben genoemd.

1. Maak een nieuwe Excel werkmap, voeg een VBA module in en zet daar deze procedure in:

Sub FlexFind2007(control As Object)
    FlexiFinder
End Sub

2. Sla het bestand op en noem het JouwBestand.xlsm (let op het bestandstype!!!)

3. Sluit de werkmap

4. Maak een map aan in de map waar je JouwBestand.xlsm hebt opgeslagen en noem die nieuwe map customUI

5. Gebruik een programma zoals Windows kladblok (notepad) om in die nieuwe map een tekstbestand te maken genaamd customUI.xml, met daarin de volgende  XML code (let op regel-einden!):

<customUI xmlns='http://schemas.microsoft.com/office/2006/01/customui'>
    <ribbon>
        <tabs>
            <tab idMso='TabHome'>
                <group id='Home' label='Flexfind'>
                    <button id='Button5' label='FlexFind' size='large' onAction='FlexFind2007' image='FlexFindIcon' />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

6. Open Windows Verkenner en selecteer het bestand JouwBestand.xlsm.

7. Voeg de .zip extensie toe aan het bestand door op F2 te drukken en de naam te wijzigen naar JouwBestand.xlsm.zip. Hierdoor ben je in staat de inhoud van het Excel bestand te bekijken met je favoriete zip-software zoals Winzip of 7-zip.

8. Sleep de customUI map uit stap 4 naar het JouwBestand.xlsm.zip bestand

9. Dubbel-klik op de map genaamd rels. In deze map staat één bestand, genaamd .rels.

10. Sleep dit .rels bestand naar een andere -tijdelijke- map, bijvoorbeeld je bureaublad.

11. Open dit .rels bestand (een XML bestand) in Notepad.

12. Voeg de volgende regel toe aan dat bestand, net voor de </Relationships> tag:

<Relationship Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="/customUI/customUI.xml"/>

13. Sla het .rels bestand op en sleep het terug naar het ZIP bestand en overschrijf het bestaande .rels bestand

14. Verwijder de .zip extensie zodat de bestandsnaam weer de normal Excel extansie krijgt:

JouwBestand.xlsm.

Als alles goed is gegaan, dan zal je een nieuwe groep zien verschijnen op de Start tab van het lint.

Gelukkig zijn er tools die je helpen de XML aanpassingen op de juiste manier in het Excel bestand te zetten. Eén daarvan is de Office custom UI editor. Met deze tool kan je een bestaand Excel bestand openen, de XML code erin plakken (die zal je nog wel zelf moeten maken ja!) en eventueel icoontjes toevoegen.

Veel van de rechts-klik menu's kan je nog middels VBA bewerken.

Scope van wijzigingen aan de gebruikersinterface

Aanpassingen van het lint die in een normale werkmap staan, zijn alleen te zien wanneer die werkmap de actieve map is. Zodra een ander Excel bestand actief wordt, zijn die lint aanpassingen niet zichtbaar. Om lintaanpassingen te doen die voor alle openstaande werkmappen zichtbaar zijn, moet een invoegtoepassing worden gemaakt.