Symptomen

  • Een VBA ontwikkelaar wil eigen afbeeldingen gebruiken op knoppen in het lint.

Remedie

Maak eigen knopafbeeldingen en gebruik de Office Custom UI Editor om de afbeeldingen toe te voegen aan het sjabloon waarin de macro’s zich bevinden. Met een stukje code knoopt u de knop en de afbeelding aan elkaar.

Verdieping

In Office 2007 is het voor een gebruiker niet mogelijk het lint aan te passen. In Office 2010 kan dat wel, via de opdracht Bestand, Opties, Lint aanpassen. Op deze manier kunt u eerder gemaakte macro’s als knoppen toevoegen aan het lint. Eigen knopafbeeldingen zijn zo niet toe te voegen, ingebouwde afbeeldingen wel:

  1. Kies Bestand, Opties, Lint aanpassen.
  2. Klik op Nieuw tabblad en geef het een naam.
  3. Klik op Nieuwe groep en geef deze een naam.
  4. Klik in de lijst Kies opdrachten uit op de lijst waaruit u opdrachten wilt toevoegen, bijvoorbeeld Alle opdrachten of Macro’s.
  5. Voeg de opdracht of macro toe aan de rechter lijst.
  6. Kies bij een macro de knop Naam wijzigen. Pas de naam aan, in hetzelfde dialoogvenster kunt u een standaard knopafbeelding kiezen.
  7. Klik tweemaal op OK om het venster te sluiten en de aangepaste werkbalk te tonen.

Custom UI Editor

RibbonX of Ribbon Extensibility is een programmeermethode waarmee ontwikkelaars het lint kunnen aanpassen. Het systeem is gebaseerd op Office Open XML documenten en gebruikt zelf ook XML om de onderdelen van het lint samen te stellen.

Voor het aanpassen van het lint kunt u het beste een gratis hulpprogramma gebruiken: de Office Custom UI Editor. Zoek hier even naar met Google of Bing en installeer de Office Custom UI Editor. Let op: er zijn verschillende versies van, dus zorg dat u die versie gebruikt waarvan hieronder afbeeldingen staan.

  1. Open de Office Custom UI editor en kies File, Open om het juiste sjabloon te openen.
  2. Voeg de code in om een knop te maken. Plaats de macro’s bij voorkeur in een nieuw tabblad en in groepen, zie de code hieronder:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="customTab" label="WEKA">
<group id="customGroup" label="Auteurs">
<button id="Onno" label="Onno" imageMso="HappyFace" size="large" onAction="mcOnno" />
<button id="PeterK" label="PeterK" imageMso="HappyFace" size="large" onAction="mcPeterK" />
<button id="PeterS" label="PeterS" imageMso="HappyFace" size="large" onAction="mcPeterS" />
<button id="Harry" label="Harry" imageMso="HappyFace" size="large" onAction="mcHarry" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>

In dit voorbeeld hebben wij achteraan een tabblad toegevoegd met het commando <tab> en een groep met <group>. De regel <ribbon startFromScratch=”false”> zorgt dat de bestaande structuur behouden blijft. Daarna zijn knoppen toegevoegd met het commando <button>. Een parameter van dit commando is OnAction; hiermee starten we een macro.

In dit artikel gaat het om de parameters imageMso en image van het commando <button>. Met de code imageMso=”HappyFace” wordt een lachend gezichtje toegevoegd, één van de standaard knopafbeeldingen. Dat is nogal flauw.

F0797-2

Om eigen pictogrammen te kunnen gebruiken moet u deze eerst maken of eventueel converteren. Gebruik daarvoor een grafisch programma, bijvoorbeeld Adobe Photoshop of Corel Paint Shop Pro. Het is niet helemaal duidelijk wat de eisen voor een pictogram zijn. Wij hebben goede ervaringen met PNG bestanden van 64×64 pixels en 32-bits kleurdiepte. Het voordeel van een PNG bestand is dat transparantie behouden blijft, en u dus achter de ‘lege’ delen de standaardkleur van het lint terugziet. Als het PNG bestand problemen oplevert of u geen transparantie nodig heeft, kunt u ook gewoon JPEG bestanden gebruiken.

Zo voegt u een eigen knopafbeelding toe:

  1. Klik op de knop Insert Icons.
  2. Selecteer één of meer afbeeldingen en klik op Open.
  3. Klik indien nodig op de plustekens in de structuur links om de ingevoegde afbeelding(en) te zien.
  4. Wijzig de XML code om de ingevoegde afbeelding(en) te gebruiken: maak van de eerste imageMso=”HappyFace” bijvoorbeeld de code image=”imgonno”.
  5. Sla het project op met de knop Save.
  6. Sluit de Office Custom UI Editor.
  7. Open het sjabloon in Word en controleer de knop. Voeg in de VBA editor code toe om de knop ook daadwerkelijk iets te laten doen.

Tips

  • Rechtsklik op een afbeelding in de structuur van de Office Custom UI Editor en kies Remove om deze te verwijderen.
  • Sluit altijd de Office Custom UI Editor voordat u het sjabloon bewerkt in Word, of kies File, Close. Als het sjabloon op in beide toepassingen geopend is, kunnen er vreemde dingen gebeuren of kan het sjabloon corrupt raken.

Zie ook

Het lint aanpassen.

Macro’s toevoegen aan knoppen in het lint.