BEISPIEL
HINWEIS
Damit haben Sie schon die Grundfunktionalität eines statischen Menüs realisiert, der Nutzer klickt und Sie
lassen eine Routine ausführen. Doch was, wenn Sie beispielsweise Einfluss auf die Beschriftung nehmen
wollen?
Verändern von Eigenschaften mit VBA-Callbacks
Hier bieten sich, wie auch bei der Ereignisbehandlung, so genannte Callbacks an, d.h. VBA-Routinen, die
einen Wert auf Anforderung der Multifunktionsleiste zurückgeben (als ByRef-Parameter).
Statt der Verwendung eines statischen Wertes bei der Definition eines Attributs setzen Sie jetzt den Namen
der Callback-Routine. Dies erfolgt jedoch nicht über das »normale« Attribut, sondern über spezielle get...-
Attribute (z.B. getLabel, getShowImage, getDescription ...)
Beeinflussen der Schaltflächenbeschriftung (Uhrzeitanzeige)
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="Tab1" label="DOKO Registerkarte">
<group id="Group1" label="Buchbeispiel Gruppe">
Statt des Attributs
label
(siehe Seite 966 unten) verwenden wir jetzt
getLabel:
<button id="Button1" getLabel="MyGetLabel" onAction="OnButtonClick"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Die globale VBA-Routine:
Sub MyGetLabel(Control As IRibbonControl, ByRef label)
label = CStr(Now)
End Sub
Nach dem Zuweisen dürfte die Schaltfläche mit dem aktuellen Datum angezeigt werden.
Abbildung 15.42 Die neue Schaltfläche
Auch bei VBA-Callbacks gilt:
Sie benötigen einen Verweis auf die »Microsoft 12.0 Object Library«, die Datenbank muss in einem »ver-
trauenswürdigen Speicherort« abgelegt sein.
969
Programmieren der Multifunktionsleiste

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.