CommandBarComboBox.Change-Ereignis (Office)

Tritt auf, wenn der Endbenutzer die Auswahl in einem CommandBar-Kombinationsfeld ändert.

Hinweis

[!HINWEIS] "CommandBar"-Objekte wurden in einigen Microsoft Office-Anwendungen durch die neue Menüband-Komponente der Microsoft Office Fluent-Benutzeroberfläche abgelöst. Weitere Informationen finden Sie unter Übersicht über das Office Fluent-Menüband.

Syntax

Ausdruck. Ändern (STRG)

Ausdruck Eine Variable, die ein CommandBarComboBox-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Ctrl Erforderlich CommandBarComboBox Stellt ein CommandBar -Kombinationsfeld dar.

HinwBemerkungeneise

Das Change -Ereignis wird durch das CommandBarComboBox -Objekt erkannt. Wenn das Change -Ereignis für ein bestimmtes CommandBarComboBox -Steuerelement zurückgeben möchten, verwenden Sie das Schlüsselwort WithEvents zum Deklarieren einer Variablen, und legen Sie die Variable auf das CommandBarComboBox-Steuerelement. Wenn das Change -Ereignis ausgelöst wird, führt es das Makro oder Code, die Sie mit der OnAction -Eigenschaft des Steuerelements angegeben.

Beispiel

Das folgende Beispiel erstellt eine Befehlsleiste mit einem CommandBarComboBox-Steuerelement, die vier Auswahl enthält. Das Kombinationsfeld reagiert auf die Benutzerinteraktion über das CommandBarComboBox_Change -Ereignis.

Private ctlComboBoxHandler As New ComboBoxHandler 
Sub AddComboBox() 
 
    Set HostApp = Application 
             
    Dim newBar As Office.CommandBar 
    Set newBar = HostApp.CommandBars.Add(Name:="Test CommandBar", Temporary:=True) 
    Dim newCombo As Office.CommandBarComboBox 
    Set newCombo = newBar.Controls.Add(msoControlComboBox) 
    With newCombo 
        .AddItem "First Class", 1 
        .AddItem "Business Class", 2 
        .AddItem "Coach Class", 3 
        .AddItem "Standby", 4 
        .DropDownLines = 5 
        .DropDownWidth = 75 
        .ListHeaderCount = 0 
    End With 
    ctlComboBoxHandler.SyncBox newCombo 
    newBar.Visible = True  
     
 
End Sub

Das oben stehende Beispiel basiert auf dem folgenden Code, der im VBA-Projekt in einem Klassenmodul gespeichert wird.

Private WithEvents ComboBoxEvent As Office.CommandBarComboBox 
Public Sub SyncBox(box As Office.CommandBarComboBox) 
    Set ComboBoxEvent = box 
    If Not box Is Nothing Then 
        MsgBox "Synced " & box.Caption & " ComboBox events." 
    End If 
     
End Sub 
 
Private Sub Class_Terminate() 
    Set ComboBoxEvent = Nothing 
End Sub 
 
Private Sub ComboBoxEvent_Change(ByVal Ctrl As Office.CommandBarComboBox) 
    Dim stComboText As String 
     
    stComboText = Ctrl.Text 
     
        Select Case stComboText 
        Case "First Class" 
            FirstClass 
        Case "Business Class" 
            BusinessClass 
        Case "Coach Class" 
            CoachClass 
        Case "Standby" 
            Standby 
    End Select 
 
End Sub 
Private Sub FirstClass() 
    MsgBox "You selected First Class reservations" 
End Sub 
Private Sub BusinessClass() 
    MsgBox "You selected Business Class reservations" 
End Sub 
Private Sub CoachClass() 
    MsgBox "You selected Coach Class reservations" 
End Sub 
Private Sub Standby() 
    MsgBox "You chose to fly standby" 
End Sub

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.