Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopplung Ribbon & Worksheet

Kopplung Ribbon & Worksheet
23.05.2017 08:44:57
Michael
Hallo!
Für mein Workbook habe ich über den Custom UI Editor eine Anzahl neuer Ribbons erstellt und dann in VBA eingebunden. Klappt ohne Probleme.
Drei Ribbons enthalten nur Steuerelemente, die sich auf jeweils ein spezifisches Worksheet beziehen. Gerne möchte ich es erreichen, dass beim Auswählen des Ribbons automatisch auch das zugehörige Worksheet aktiv wird. Bislang muss ich nacheinander erst dass Ribbon und dann das Worksheet anklicken (oder umgekehrt). Alternativ könnte ich natürlich auf jedem Ribbon links einen Button platzieren, der gedrückt werden muss, so dass manuell ein Callback ausgelöst wird, den ich mit der Aktivierung des Worksheets kopple. Aber auch das ist mir eigentlich nicht recht, es soll von alleine klappen...
Wie kann man das erreichen?
Gibt es eine Art "ActiveRibbonChange-Event"?
Oder kann ich qua XML einen entsprechenenden "OnRibbonActivation"-Callback erzeugen?
Vielen dank für eure Tipps!
Michael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopplung Ribbon & Worksheet
23.05.2017 09:06:04
mumpel
Hallo!
Das lässt sich leicht machen.
In "DieseArbeitsmappe"
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 If Not objRibbon Is Nothing Then objRibbon.Invalidate
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

In ein allgemeines Modul:
Option Explicit
Option Private Module

Public objRibbon As IRibbonUI

Public Sub onLoad_X3(ribbon As IRibbonUI)
  Set objRibbon = ribbon
End Sub

Public Sub getVisible_Ribbon(control As IRibbonControl, ByRef visible)
 If ActiveSheet.Name = control.ID Then visible = True
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

XML-Code:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onLoad_X3">
  <ribbon>
    <tabs>
    <tab id="Tabelle1" label="Tab 1" getVisible="getVisible_Ribbon" >
      <group id="grp0" label="Gruppe 1">
        <button id="btn0" label="Button 1"
                imageMso="HappyFace" size="large" onAction="onAction1" />
      </group>
      </tab>
    <tab id="Tabelle2" label="Tab 2" getVisible="getVisible_Ribbon" >
      <group id="grp1" label="Gruppe 2">
        <button id="bt10" label="Button 2"
                imageMso="HappyFace" size="large" onAction="onAction1" />
      </group>
     </tab>
    </tabs>
  </ribbon>
</customUI>

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

Gruß, René
Anzeige
AW: Kopplung Ribbon & Worksheet
23.05.2017 09:13:54
mumpel
Es ist genau umgekehrt. Beim Aktivieren eines Blattes wird das zugehörige Tab eingeblendet. Aktivieren kannst Du es indem Du die Tabs an den Anfang setzt (<tab id="Tabelle2" label="Tab 2" getVisible="getVisible_Ribbon" insertBeforeMso="TabHome" >)
AW: Kopplung Ribbon & Worksheet
23.05.2017 12:12:09
Kawensmann
Hallo,
so wie Mumpel es beschreibt, ist es sicher der richtigere Weg. Der Sheet-Wechsel aktiviert den entsprechenden Tab ... Müsstest du ja eh einbauen oder was passiert, wenn du durch Tab-Klick ein Sheet aktivierst und danach manuell ein anderes Sheet anwählst? Dann passen Sheet und Ribbon Tab nicht mehr zusammen.
Davon abgesehen, hat sich MS vermutlich etwas dabei gedacht, auf ein OnTabChange-Ereignis zu verzichten. Was passiert beim Anklicken eines Tabs in allen Office-Programmen? Nichts ... außer, dass ein neues Menü erscheint, welches weitere Aktionen erfordert und das erwartet der User wohl mittlerweile auch.
Gruß
Kawensmann
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige