{"id":55001324,"date":"2021-10-01T00:00:00","date_gmt":"2021-09-29T22:11:25","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1324"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Ribbon_CallbackSignaturen_fuer_VBA_und_VB6","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/","title":{"rendered":"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6"},"content":{"rendered":"<p><b>Wer das Ribbon um benutzerdefinierte Erweiterungen erg&auml;nzen m&ouml;chte, kommt fr&uuml;her oder sp&auml;ter nicht um die Programmierung von Callback-Funktionen herum. Das sind Funktionen, die f&uuml;r Callback-Attribute von Ribbon-Elementen angegeben werden und die f&uuml;r verschiedene Aktionen aufgerufen werden &#8211; beispielsweise beim Anklicken einer Schaltfl&auml;che, beim &Auml;ndern des Inhalts eines Textfeldes oder schlicht, um vor dem Anzeigen dynamisch Einstellungen f&uuml;r Attribute des Ribbons einzulesen. Diese Callback-Funktionen haben eine bestimmte Signatur (sprich Definition der ersten Zeile). Da diese f&uuml;r den Einsatz von VBA und VB6 unterschiedlich aussehen und aktuell twinBASIC als Ersatz f&uuml;r VB6 heranreift, wollen wir eine Referenz der Callback-Signaturen f&uuml;r diese beiden Programmiersprachen anbieten.<\/b><\/p>\n<h2>Warum verschiedene Callback-Signaturen<\/h2>\n<p>Als ich neulich angefangen habe, mit der neuen Programmiersprache twinBASIC COM-Add-Ins f&uuml;r die Benutzeroberfl&auml;che von Access zu programmieren, wollte ich nat&uuml;rlich auch Callback-Funktionen einsetzen.<\/p>\n<p>Also habe ich einfach die gleichen Callback-Funktionen verwendet, die ich sonst unter Access und VBA einsetze. Der Aufruf lieferte allerdings immer wieder den gleichen Fehler (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_05\/pic_1324_001.png\" alt=\"Fehler durch falsche Callback-Signatur\" width=\"649,559\" height=\"117,8222\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Fehler durch falsche Callback-Signatur<\/span><\/b><\/p>\n<p>Ich bin fast verzweifelt, bis ich mich dann daran erinnerte, schon einmal mit dem alten Visual Studio unter VB6 ein COM-Add-In mit Ribbon programmiert zu haben &#8211; und dass dort die Signatur der Callback-Funktionen anders ausgesehen hat.<\/p>\n<p>Unter VB6 sind Callback-Funktionen n&auml;mlich tats&auml;chlich Funktionen &#8211; und nicht wie unter VBA Callback-Prozeduren, die einen weiteren Parameter enthalten, der als R&uuml;ckgabewert verwendet wird.<\/p>\n<p>Schauen wir uns also die unterschiedlichen Signaturen f&uuml;r die einzelnen Steuerelemente des Ribbons f&uuml;r VBA und VB6 an!<\/p>\n<h2>Wichtige Informationen<\/h2>\n<p>Vorab die wichtigste Information: Verwenden Sie alle Callback-Signaturen genau so wie Sie hier abgebildet sind. Manchmal kann bereits das Hinzuf&uuml;gen eines Datentyps zu einem Parameter, der hier keinen Datentyp aufweist, zu Problemen f&uuml;hren. Wichtig ist auch, auf die korrekte Verwendung von <b>Function<\/b>\/<b>Sub <\/b>zu achten. Wenn Sie twinBASIC verwenden, k&ouml;nnen Sie das Ergebnis zum Zur&uuml;ckgeben entweder einer Variablen mit dem gleichen Namen wie die Funktion zuweisen, aber auch die <b>Return<\/b>-Anweisung nutzen:<\/p>\n<pre><span style=\"color:blue;\">Function <\/span>GetText(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef text) <span style=\"color:blue;\"> As String<\/span>\r\n     .,,\r\n     Return strText\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>Bei den folgenden Definitionen stellen wir zun&auml;chst die je nach Steuerelement individuellen Callback-Funktionen vor. Am Ende finden Sie eine Auflistung all jener Callback-Funktionen, die von einer gro&szlig;en Anzahl an Steuerelementen verwendet wird.<\/p>\n<h2>Die Callback-Funktionen des button-Elements<\/h2>\n<p>Das <b>button<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getShowImage<\/b>: Fragt ab, ob ein Image angezeigt werden soll. Das geschieht unter VBA mit dem R&uuml;ckgabe-Parameter <b>showImage<\/b>, unter VB6\/twinBASIC mit dem R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetShowImage (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef showImage)\r\nVB6\/twinBASIC: Function GetShowImage (control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Boolean<\/span><\/pre>\n<p><b>getShowLabel<\/b>: Fragt ab, ob eine Bezeichnung angezeigt werden soll. Der Wert <b>True <\/b>oder <b>False <\/b>wird mit dem Parameter <b>showLabel <\/b>oder dem R&uuml;ckgabewert &uuml;bergeben.<\/p>\n<pre>VBA: Sub GetShowLabel (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef showLabel)\r\nVB6\/twinBASIC: Function GetShowLabel (control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Boolean<\/span><\/pre>\n<p><b>onAction<\/b>: Wird beim Anklicken ausgel&ouml;st. Diese Signatur gilt f&uuml;r benutzerdefinierte <b>button<\/b>-Elemente.<\/p>\n<pre>VBA: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)\r\nVB6\/twinBASIC: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<\/pre>\n<p><b>onAction<\/b>, Alternative: Wird beim Anklicken eines eingebauten Elements ausgel&ouml;st, f&uuml;r das Sie ein <b>command<\/b>-Element definiert haben. Wie Sie diese Variante von <b>onAction<\/b> einsetzen, lernen Sie im Beitrag <b>Funktion von eingebauten Ribbon-Steuerelementen &uuml;berschreiben <\/b>(<b>www.access-im-unternehmen.de\/1328<\/b>) in der n&auml;chsten Ausgabe.<\/p>\n<pre>VBA: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef CancelDefault)\r\nVB6\/twinBASIC: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef CancelDefault)<\/pre>\n<h2>Die Callback-Funktionen des checkBox-Elements<\/h2>\n<p>Das <b>checkBox<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getPressed<\/b>: Stellt den Zustand des <b>checkBox<\/b>-Steuerelements ein, also auf <b>True <\/b>oder <b>False<\/b>. Der R&uuml;ckgabewert hei&szlig;t unter VBA <b>returnValue<\/b>.<\/p>\n<pre>VBA: Sub GetPressed(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef returnValue)\r\nVB6\/twinBASIC: Function GetPressed(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Boolean<\/span><\/pre>\n<p><b>onAction<\/b>: Wird ausgel&ouml;st, wenn der Benutzer auf ein <b>checkBox<\/b>-Steuerelement klickt und seinen Wert damit &auml;ndert. Liefert den neuen Wert mit dem <b>Boolean<\/b>-Parameter <b>pressed<\/b>.<\/p>\n<pre>VBA: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, pressed<span style=\"color:blue;\"> As Boolean<\/span>)\r\nVB6\/twinBASIC: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, pressed<span style=\"color:blue;\"> As Boolean<\/span>)<\/pre>\n<h2>Die Callback-Funktionen des comboBox-Elements<\/h2>\n<p>Das <b>comboBox<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getItemCount<\/b>: Callback-Funktion zum Abfragen der Anzahl der im <b>comboBox<\/b>-Steuerelement anzuzeigenden Eintr&auml;ge. Zu liefern mit dem Parameter <b>count <\/b>oder dem R&uuml;ckgabewert der Callback-Funktion.<\/p>\n<pre>VBA: Sub GetItemCount(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef count)\r\nVB6\/twinBASIC: Function GetItemCount(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>getItemID<\/b>: Ruft den Wert f&uuml;r die <b>ItemID <\/b>eines der Eintr&auml;ge des <b>comboBox<\/b>-Steuerelements ab, dessen Index unter VBA mit dem Parameter <b>index <\/b>abgefragt wird &#8211; oder mit dem R&uuml;ckgabewert unter Visual Basic 6\/twinBASIC.<\/p>\n<pre>VBA: Sub GetItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef id)\r\nVB6\/twinBASIC: Function GetItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemImage<\/b>: Ruft den Namen des Bildes eines der Eintr&auml;ge des <b>comboBox<\/b>-Steuerelements ab, dessen Index unter VBA mit dem Parameter <b>index <\/b>oder unter VB6\/twinBASIC mit dem R&uuml;ckgabewert der Callback-Funktion abgefragt wird.<\/p>\n<pre>VBA: Sub GetItemImage(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef image)\r\nVB6\/twinBASIC: Function GetItemImage(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As <\/span>IPictureDisp<\/pre>\n<p><b>getItemLabel<\/b>: Ruft die Beschriftung eines der Eintr&auml;ge des <b>comboBox<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>oder dem R&uuml;ckgabewert &uuml;bergeben wird.<\/p>\n<pre>VBA: Sub GetItemLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef label)\r\nVB6\/twinBASIC: Function GetItemLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemScreenTip<\/b>: Ruft den <b>screenTip<\/b> eines der Eintr&auml;ge des <b>comboBox<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>oder dem R&uuml;ckgabewert &uuml;bergeben wird.<\/p>\n<pre>VBA: Sub GetItemScreenTip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef screentip)\r\nVB6\/twinBASIC: Function GetItemScreentip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemSuperTip<\/b>: Ruft den <b>superTip <\/b>eines der Eintr&auml;ge des <b>comboBox<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>oder dem R&uuml;ckgabewert &uuml;bergeben wird.<\/p>\n<pre>VBA: Sub GetItemSuperTip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef supertip)\r\nVB6\/twinBASIC: Function GetItemSuperTip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getText<\/b>: Ruft den aktuell im <b>comboBox<\/b>-Element anzuzeigenden Text ab. Dies geschieht &uuml;ber den Parameter <b>text <\/b>oder den R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetText(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef text)\r\nVB6\/twinBASIC: Function GetText(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>onChange<\/b>: Wird ausgel&ouml;st, wenn der Benutzer einen anderen Eintrag im <b>comboBox<\/b>-Steuerelement ausw&auml;hlt. Liefert den neuen Wert mit dem Parameter <b>text<\/b>.<\/p>\n<pre>VBA: Sub OnChange(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, text<span style=\"color:blue;\"> As String<\/span>)\r\nVB6\/twinBASIC: Sub OnChange(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, text<span style=\"color:blue;\"> As String<\/span>)<\/pre>\n<h2>Die Callback-Funktionen des customUI-Elements<\/h2>\n<p>Das <b>customUI<\/b>-Element bietet die folgenden Callbacks:<\/p>\n<p><b>loadImage<\/b>: Wird beim Anzeigen eines Ribbons f&uuml;r jedes Steuerelement im Ribbon einmal ausgel&ouml;st, f&uuml;r das im Attribut <b>image <\/b>ein Bildname hinterlegt ist.<\/p>\n<pre>VBA: Sub LoadImage(imageId<span style=\"color:blue;\"> As <\/span>string, ByRef image)\r\nVB6\/twinBASIC: Function LoadImage(imageId<span style=\"color:blue;\"> As String<\/span>)<span style=\"color:blue;\"> As <\/span>IPictureDisp<\/pre>\n<p><b>onLoad<\/b>: Wird beim erstmaligen Laden des Ribbons ausgel&ouml;st und erlaubt das Referenzieren der mit <b>ribbon <\/b>gelieferten Instanz der Ribbon-Definition.<\/p>\n<pre>VBA: Sub OnLoad(ribbon<span style=\"color:blue;\"> As <\/span>IRibbonUI)\r\nVB6\/twinBASIC: Function OnLoad(ribbon<span style=\"color:blue;\"> As <\/span>IRibbonUI)<\/pre>\n<h2>Die Callback-Funktionen des dropDown-Elements<\/h2>\n<p><!--30percent--><\/p>\n<p>Das <b>dropDown<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getItemCount<\/b>: Callback-Funktion zum Abfragen der Anzahl der im <b>dropDown<\/b>-Steuerelement anzuzeigenden Eintr&auml;ge, zu liefern mit dem Parameter <b>count <\/b>oder dem R&uuml;ckgabewert als Integer.<\/p>\n<pre>VBA: Sub GetItemCount(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef count)\r\nVB6\/twinBASIC: Function GetItemCount(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>getItemID<\/b>: Ruft den Wert f&uuml;r die <b>ItemID <\/b>eines der Eintr&auml;ge des <b>dropDown<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>&uuml;bergeben wird. Die <b>ItemID <\/b>wird mit dem Parameter <b>id <\/b>oder dem R&uuml;ckgabewert im Format <b>String<\/b> erwartet.<\/p>\n<pre>VBA: Sub GetItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef id)\r\nVB6\/twinBASIC: Function GetItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemImage<\/b>: Ruft den Namen des Bildes eines der Eintr&auml;ge des <b>dropBox<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>geliefert wird. Der Bildname wird mit dem Parameter image oder mit dem R&uuml;ckgabewert des Datentyps <b>IPictureDisp <\/b>&uuml;bergeben.<\/p>\n<pre>VBA: Sub GetItemImage(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef image)\r\nVB6\/twinBASIC: Function GetItemImage(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As <\/span>IPictureDisp<\/pre>\n<p><b>getItemLabel<\/b>: Ruft die Beschriftung eines der Eintr&auml;ge des <b>dropDown<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>&uuml;bergeben wird und die Beschriftung mit dem Parameter <b>label <\/b>beziehungsweise mit dem R&uuml;ckgabewert als <b>String<\/b> erwartet.<\/p>\n<pre>VBA: Sub GetItemLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef label)\r\nVB6\/twinBASIC: Function GetItemLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemScreenTip<\/b>: Ruft den <b>screenTip <\/b>eines der Eintr&auml;ge des <b>getItemScreenTip<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>geliefert und dessen Wert mit dem Parameter <b>screenTip <\/b>oder dem R&uuml;ckgabewert &uuml;bergeben wird.<\/p>\n<pre>VBA: Sub GetItemScreenTip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef screenTip)\r\nVB6\/twinBASIC: Function GetItemScreentip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemSuperTip<\/b>: Ruft den <b>superTip <\/b>eines der Eintr&auml;ge des <b>dropDown<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>&uuml;bergeben wird und dessen Wert mit dem Parameter <b>superTip <\/b>oder mit dem <b>String<\/b>-R&uuml;ckgabewert zur&uuml;ckgegeben wird.<\/p>\n<pre>VBA: Sub GetItemSuperTip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef superTip)\r\nVB6\/twinBASIC: Function GetItemSuperTip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getSelectedItemID<\/b>: Fragt den Wert des Attributs <b>itemID <\/b>f&uuml;r das aktuell zu selektierende Element f&uuml;r ein <b>dropDown<\/b>-Steuerelement ab &#8211; entweder &uuml;ber den Parameter <b>index <\/b>oder den R&uuml;ckgabewert der Callback-Funktion im <b>Integer<\/b>-Format.<\/p>\n<pre>VBA: Sub GetSelectedItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef index)\r\nVB6\/twinBASIC: Function GetSelectedItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>getSelectedItemIndex<\/b>: Fragt den Wert des Attributs <b>index <\/b>f&uuml;r das aktuell zu selektierende Element f&uuml;r ein <b>dropDown<\/b>-Steuerelement mit dem Parameter <b>index <\/b>oder dem R&uuml;ckgabewert im <b>Integer<\/b>-Format ab.<\/p>\n<pre>VBA: Sub GetSelectedItemIndex(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef index)\r\nVB6\/twinBASIC: Function GetSelectedItemIndex(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>onAction<\/b>: Wird beim Ausw&auml;hlen eines der Eintr&auml;ge im <b>dropDown<\/b>-Steuerelement ausgel&ouml;st.<\/p>\n<pre>VBA: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, selectedId<span style=\"color:blue;\"> As String<\/span>, selectedIndex<span style=\"color:blue;\"> As Integer<\/span>)\r\nVB6\/twinBASIC: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, selectedId<span style=\"color:blue;\"> As String<\/span>, selectedIndex<span style=\"color:blue;\"> As Integer<\/span>)<\/pre>\n<h2>Die Callback-Funktionen des dynamicMenu-Elements<\/h2>\n<p>Das <b>dynamicMenu<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getContent<\/b>: Fragt die XML-Definition f&uuml;r die im <b>dynamicMenu <\/b>anzuzeigenden Eintr&auml;ge ab (Parameter <b>index <\/b>beziehungsweise R&uuml;ckgabewert als <b>String<\/b>).<\/p>\n<pre>VBA: Sub GetContent(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef content)\r\nVB6\/twinBASIC: Function GetContent(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<h2>Die Callback-Funktionen des editBox-Elements<\/h2>\n<p>Das <b>editBox<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getText<\/b>: Fragt den anzuzeigenden Text im <b>editBox<\/b>-Steuerelement mit dem Parameter <b>text <\/b>oder dem <b>String<\/b>-R&uuml;ckgabewert ab.<\/p>\n<pre>VBA: Sub GetText(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef text)\r\nVB6\/twinBASIC: Function GetText(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>onChange<\/b>: Wird nach dem &Auml;ndern des Textes des <b>editBox<\/b>-Steuerelements ausgel&ouml;st und liefert den neuen Text &uuml;ber den Parameter <b>text<\/b>.<\/p>\n<pre>VBA: Sub OnChange(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, text<span style=\"color:blue;\"> As String<\/span>)\r\nVB6\/twinBASIC: Sub OnChange(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, text<span style=\"color:blue;\"> As String<\/span>)<\/pre>\n<h2>Die Callback-Funktionen des gallery-Elements<\/h2>\n<p>Das <b>gallery<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getItemCount<\/b>: Callback-Funktion zum Abfragen der Anzahl der im <b>gallery<\/b>-Steuerelement anzuzeigenden Eintr&auml;ge (per Parameter <b>count <\/b>oder <b>Integer<\/b>-R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetItemCount(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef count)\r\nVB6\/twinBASIC: Function GetItemCount(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>getItemHeight<\/b>: Callback-Funktion zum Abfragen der H&ouml;he der anzuzeigenden Bilder im <b>gallery<\/b>-Element (entweder mit dem Parameter <b>height <\/b>oder dem R&uuml;ckgabewert als <b>Integer<\/b>).<\/p>\n<pre>VBA: Sub getItemHeight(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef height)\r\nVB6\/twinBASIC: Function getItemHeight(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>getItemID<\/b>: Callback-Funktion zum Abfragen der Anzahl der im <b>gallery<\/b>-Steuerelement anzuzeigenden Eintr&auml;ge (per Parameter <b>id <\/b>oder <b>String<\/b>-R&uuml;ckgabewert). <\/p>\n<pre>VBA: Sub GetItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef id)\r\nVB6\/twinBASIC: Function GetItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemImage<\/b>: Ruft den Namen des Bildes eines der Eintr&auml;ge des <b>gallery<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>(unter VBA) oder mit dem R&uuml;ckgabewert als <b>String <\/b>&uuml;bergeben wird (unter VB6\/twinBASIC).<\/p>\n<pre>VBA: Sub GetItemImage(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef image)\r\nVB6\/twinBASIC: Function GetItemImage(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As <\/span>IPictureDisp<\/pre>\n<p><b>getItemLabel<\/b>: Ruft die Beschriftung eines der Eintr&auml;ge des <b>gallery<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>oder dem R&uuml;ckgabewert als <b>String <\/b>&uuml;bergeben wird.<\/p>\n<pre>VBA: Sub GetItemLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>, ByRef label)\r\nVB6\/twinBASIC: Function GetItemLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemScreenTip<\/b>: Ruft den <b>screenTip<\/b> eines der Eintr&auml;ge des <b>gallery<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>oder dem R&uuml;ckgabewert als <b>String <\/b>&uuml;bergeben wird.<\/p>\n<pre>VBA: Sub GetItemScreenTip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index as Integer, ByRef screen)\r\nVB6\/twinBASIC: Function GetItemScreentip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemSuperTip<\/b>: Ruft den <b>superTip <\/b>eines der Eintr&auml;ge des <b>gallery<\/b>-Steuerelements ab, dessen Index mit dem Parameter <b>index <\/b>oder dem R&uuml;ckgabewert als <b>String <\/b>&uuml;bergeben wird.<\/p>\n<pre>VBA: Sub GetItemSuperTip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index as Integer, ByRef screen)\r\nVB6\/twinBASIC: Function GetItemSuperTip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, index<span style=\"color:blue;\"> As Integer<\/span>)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getItemWidth<\/b>: Callback-Funktion zum Abfragen der Breite der anzuzeigenden Bilder im <b>gallery<\/b>-Element. Liest den Wert aus dem Parameter <b>width <\/b>oder dem R&uuml;ckgabewert im <b>Integer<\/b>-Format.<\/p>\n<pre>VBA: Sub getItemWidth(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef width)\r\nVB6\/twinBASIC: Function getItemWidth(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>getSelectedItemID<\/b>: Fragt den Wert des Attributs <b>itemID <\/b>f&uuml;r das aktuell zu selektierende Element des <b>gallery<\/b>-Steuerelements ab. Nutzt dazu den Paramter <b>index <\/b>(VBA) beziehungsweise den R&uuml;ckgabewert als <b>Integer<\/b> (VB6\/twinBASIC)<\/p>\n<pre>VBA: Sub GetSelectedItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef index)\r\nVB6\/twinBASIC: Function GetSelectedItemID(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>getSelectedItemIndex<\/b>: Fragt den Wert des Attributs <b>index <\/b>f&uuml;r das aktuell zu selektierende Element f&uuml;r ein <b>gallery<\/b>-Steuerelement ab und nutzt dazu den Parameter <b>index <\/b>oder den <b>Integer<\/b>-R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetSelectedItemIndex(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef index)\r\nVB6\/twinBASIC: Function GetSelectedItemIndex(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Integer<\/span><\/pre>\n<p><b>onAction<\/b>: Wird ausgel&ouml;st, wenn der Benutzer einen der Eintr&auml;ge des <b>gallery<\/b>-Steuerelements anklickt. Liefert die ID oder den Index des gew&auml;hlten Elements per Parameter.<\/p>\n<pre>VBA: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, selectedId<span style=\"color:blue;\"> As String<\/span>, selectedIndex<span style=\"color:blue;\"> As Integer<\/span>)\r\nVB6\/twinBASIC: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, selectedId<span style=\"color:blue;\"> As String<\/span>, selectedIndex<span style=\"color:blue;\"> As Integer<\/span>)<\/pre>\n<h2>Die Callback-Funktionen des menuSeparator-Elements<\/h2>\n<p>Das <b>menuSeparator<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getTitle<\/b>: Ermittelt den Titel des <b>box<\/b>-Steuerelements &uuml;ber den Parameter <b>title <\/b>oder den R&uuml;ckgabewert als <b>String<\/b>.<\/p>\n<pre>VBA: Sub GetTitle (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef title)\r\nVB6\/twinBASIC: Function GetTitle (control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<h2>Die Callback-Funktionen des toggleButton-Elements<\/h2>\n<p>Das <b>dynamicMenu<\/b>-Element bietet die folgenden Callback-Funktionen:<\/p>\n<p><b>getPressed<\/b>: Ermittelt den Zustand f&uuml;r das <b>toggleButton<\/b>-Steuerelement, also <b>True <\/b>f&uuml;r gedr&uuml;ckt und <b>False <\/b>f&uuml;r nicht gedr&uuml;ckt. Diesen Wert fragt die Funktion mit dem Parameter <b>returnValue <\/b>beziehungsweise dem <b>Boolean<\/b>-R&uuml;ckgabewert ab.<\/p>\n<pre>VBA: Sub GetPressed(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef returnValue)\r\nVB6\/twinBASIC: Function GetPressed(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Boolean<\/span><\/pre>\n<p><b>onAction<\/b>: Wird beim Anklicken eines <b>button<\/b>-Elements ausgel&ouml;st und liefert mit <b>control<\/b> einen Verweis auf das ausl&ouml;sende Steuerelement und mit <b>pressed <\/b>den per Klick erzeugten Zustand (<b>True <\/b>oder <b>False<\/b>). <\/p>\n<pre>VBA: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, pressed<span style=\"color:blue;\"> As Boolean<\/span>)\r\nVB6\/twinBASIC: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, pressed<span style=\"color:blue;\"> As Boolean<\/span>)<\/pre>\n<p><b>onAction<\/b>, Alternative: Wird beim Anklicken eines eingebauten Elements ausgel&ouml;st, f&uuml;r das Sie ein <b>command<\/b>-Element definiert haben. Wie Sie diese einsetzen, lernen Sie im Beitrag <b>Funktion von eingebauten Ribbon-Steuerelementen &uuml;berschreiben <\/b>(<b>www.access-im-unternehmen.de\/1328<\/b>) in der n&auml;chsten Ausgabe.<\/p>\n<pre>VBA: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, pressed<span style=\"color:blue;\"> As Boolean<\/span>, ByRef cancelDefault)\r\nVB6\/twinBASIC: Sub OnAction(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, pressed<span style=\"color:blue;\"> As Boolean<\/span>, ByRef CancelDefault)<\/pre>\n<h2>Weitere Callback-Funktionen, die f&uuml;r mehrere Steuerelemente genutzt werden<\/h2>\n<p>Mehrere Steuerelemente haben die folgenden Callback-Funktionen gemeinsam, daher f&uuml;hren wir diese hier gesammelt auf:<\/p>\n<p><b>getDescription<\/b>: Manche Steuerelemente (<b>button<\/b>, <b>checkBox<\/b>, <b>dynamicMenu<\/b>, <b>gallery, menu, toggleButton <\/b>et cetera zeigen einen Beschreibungstext an. Diesen liest die Callback-Funktion <b>getDescription <\/b>&uuml;ber den Parameter <b>description <\/b>ein.<\/p>\n<pre>VBA: Sub GetDescription(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef description)\r\nVB6\/twinBASIC: Function GetDescription(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getEnabled<\/b>: Diese Callback-Funktion ermittelt, ob das betroffene Steuerelement aktiviert (Wert <b>True <\/b>f&uuml;r den Parameter <b>enabled<\/b> beziehungsweise den R&uuml;ckgabewert) oder deaktiviert (<b>False<\/b>) angezeigt werden soll.<\/p>\n<pre>VBA: Sub GetEnabled(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef enabled)\r\nVB6\/twinBASIC: Function GetEnabled(control as IRibbonControl)<span style=\"color:blue;\"> As Boolean<\/span><\/pre>\n<p><b>getImage<\/b>: Die Callback-Funktion liest mit dem Parameter <b>image <\/b>beziehungsweise dem R&uuml;ckgabewert den Namen des f&uuml;r das Steuerelement anzuzeigenden Bildes ein &#8211; entweder mit dem Parameter <b>image <\/b>oder dem R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetImage(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef image)\r\nVB6\/twinBASIC: Function GetImage(control as IRibbonControl) as IPictureDisp<\/pre>\n<p><b>getImageMso<\/b>: Wenn ein eingebautes Bild angezeigt werden soll, liest die Callback-Funktion <b>getImageMso <\/b>dieses &uuml;ber den Parameter <b>image <\/b>oder den R&uuml;ckgabewert der Funktion ein.<\/p>\n<pre>VBA: Sub GetImageMso(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef imageMso)\r\nVB6\/twinBASIC: Function GetImageMso(control as IRibbonControl) as String<\/pre>\n<p><b>getLabel<\/b>: Das dynamische Einlesen der Beschriftung erledigt diese Callback-Funktion &uuml;ber den Parameter <b>label <\/b>oder den R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef label)\r\nVB6\/twinBASIC: Function GetLabel(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getKeytip<\/b>: Der Keytip wird beim Anzeigen des Steuerelements mit <b>getKeytip <\/b>&uuml;ber den Parameter <b>label <\/b>oder den R&uuml;ckgabewert eingelesen.<\/p>\n<pre>VBA: Sub GetKeytip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef label)\r\nVB6\/twinBASIC: Function GetKeytip (control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getSize<\/b>: Die Gr&ouml;&szlig;e von Icons beispielsweise auf <b>button<\/b>-Elementen wird mit der Callback-Funktion <b>getSize <\/b>eingelesen. Die m&ouml;glichen Werte lauten <b>0 <\/b>(<b>normal<\/b>) oder <b>1 <\/b>(<b>large<\/b>).<\/p>\n<pre>VBA: Sub GetSize(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef size)\r\nVB6\/twinBASIC: Function GetSize(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As <\/span>RibbonControlSize<\/pre>\n<p><b>getScreentip<\/b>: Der anzuzeigende Inhalt des Attributs <b>screentip <\/b>wird mit dieser Callback-Funktion als Zeichenkette eingelesen &#8211; entweder mit dem Parameter <b>screentip <\/b>oder als R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetScreentip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef screentip)\r\nVB6\/twinBASIC: Function GetScreentip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getSupertip<\/b>: Den Wert f&uuml;r das Attribut <b>supertip <\/b>eines Steuerelements liest die Callback-Funktion <b>GetSupertip <\/b>&uuml;ber den Parameter <b>supertip <\/b>oder den R&uuml;ckgabewert ein.<\/p>\n<pre>VBA: Sub GetSupertip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef supertip)\r\nVB6\/twinBASIC: Function GetSupertip(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As String<\/span><\/pre>\n<p><b>getVisible<\/b>: Fehlt noch das Attribut <b>visible<\/b>, das mit der Callback-Funktion <b>getVisible <\/b>eingelesen wird. Dieses erwartet den gew&uuml;nschten Wert, also <b>True <\/b>oder <b>False<\/b>, mit dem Parameter <b>visible <\/b>oder dem R&uuml;ckgabewert.<\/p>\n<pre>VBA: Sub GetVisible(control<span style=\"color:blue;\"> As <\/span>IRibbonControl, ByRef visible)\r\nVB6\/twinBASIC: Function GetVisible(control<span style=\"color:blue;\"> As <\/span>IRibbonControl)<span style=\"color:blue;\"> As Boolean<\/span><\/pre>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Dieser Beitrag liefert die Signaturen f&uuml;r alle Callback-Funktionen f&uuml;r das Access-Ribbon in zwei Versionen: f&uuml;r VBA und f&uuml;r andere Sprachen wie VB6 oder twinBASIC. Damit k&ouml;nnen Sie Ribbons und ihre Callback-Funktionen, die Sie einmal f&uuml;r Access programmiert und getestet haben, leicht nach VB6 oder twinBASIC migrieren, um diese beispielsweise in COM-Add-Ins zu nutzen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer das Ribbon um benutzerdefinierte Erweiterungen erg&auml;nzen m&ouml;chte, kommt fr&uuml;her oder sp&auml;ter nicht um die Programmierung von Callbackfunktionen herum. Das sind Funktionen, die f&uuml;r Callback-Attribute von Ribbon-Elementen angegeben werden und die f&uuml;r verschiedene Aktionen aufgerufen werden &#8211; beispielsweise beim Anklicken einer Schaltfl&auml;che, beim &Auml;ndern des Inhalts eines Textfeldes oder schlicht, um vor dem Anzeigen dynamisch Einstellungen f&uuml;r Attribute des Ribbons einzulesen. Diese Callbackfunktionen haben eine bestimmte Signatur (sprich Definition der ersten Zeile). Da diese f&uuml;r den Einsatz von VBA und VB6 unterschiedlich aussehen und aktuell twinBASIC als Ersatz f&uuml;r VB6 heranreift, wollen wir eine Referenz der Callback-Signaturen f&uuml;r diese beiden Programmiersprachen anbieten.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662021,66052021,44000025],"tags":[],"class_list":["post-55001324","post","type-post","status-publish","format-standard","hentry","category-662021","category-66052021","category-VBA_und_Programmiertechniken"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ribbon: Callback-Signaturen f&uuml;r VBA und VB6 - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6\" \/>\n<meta property=\"og:description\" content=\"Wer das Ribbon um benutzerdefinierte Erweiterungen erg&auml;nzen m&ouml;chte, kommt fr&uuml;her oder sp&auml;ter nicht um die Programmierung von Callbackfunktionen herum. Das sind Funktionen, die f&uuml;r Callback-Attribute von Ribbon-Elementen angegeben werden und die f&uuml;r verschiedene Aktionen aufgerufen werden - beispielsweise beim Anklicken einer Schaltfl&auml;che, beim &Auml;ndern des Inhalts eines Textfeldes oder schlicht, um vor dem Anzeigen dynamisch Einstellungen f&uuml;r Attribute des Ribbons einzulesen. Diese Callbackfunktionen haben eine bestimmte Signatur (sprich Definition der ersten Zeile). Da diese f&uuml;r den Einsatz von VBA und VB6 unterschiedlich aussehen und aktuell twinBASIC als Ersatz f&uuml;r VB6 heranreift, wollen wir eine Referenz der Callback-Signaturen f&uuml;r diese beiden Programmiersprachen anbieten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-29T22:11:25+00:00\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"16\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6\",\"datePublished\":\"2021-09-29T22:11:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/\"},\"wordCount\":2099,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"articleSection\":[\"2021\",\"5\\\/2021\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/\",\"name\":\"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6 - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2021-09-29T22:11:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6 - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/","og_locale":"de_DE","og_type":"article","og_title":"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6","og_description":"Wer das Ribbon um benutzerdefinierte Erweiterungen erg&auml;nzen m&ouml;chte, kommt fr&uuml;her oder sp&auml;ter nicht um die Programmierung von Callbackfunktionen herum. Das sind Funktionen, die f&uuml;r Callback-Attribute von Ribbon-Elementen angegeben werden und die f&uuml;r verschiedene Aktionen aufgerufen werden - beispielsweise beim Anklicken einer Schaltfl&auml;che, beim &Auml;ndern des Inhalts eines Textfeldes oder schlicht, um vor dem Anzeigen dynamisch Einstellungen f&uuml;r Attribute des Ribbons einzulesen. Diese Callbackfunktionen haben eine bestimmte Signatur (sprich Definition der ersten Zeile). Da diese f&uuml;r den Einsatz von VBA und VB6 unterschiedlich aussehen und aktuell twinBASIC als Ersatz f&uuml;r VB6 heranreift, wollen wir eine Referenz der Callback-Signaturen f&uuml;r diese beiden Programmiersprachen anbieten.","og_url":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-09-29T22:11:25+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6","datePublished":"2021-09-29T22:11:25+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/"},"wordCount":2099,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"articleSection":["2021","5\/2021","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/","url":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/","name":"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6 - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2021-09-29T22:11:25+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Ribbon_CallbackSignaturen_fuer_VBA_und_VB6\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Ribbon: Callback-Signaturen f&uuml;r VBA und VB6"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001324"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001324\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}