共用方式為


Office) (CommandBarComboBox.Change 事件

當使用者變更 CommandBar 下拉式方塊中的選取時會發生此事件。

注意事項

[!注意事項] CommandBars 用於部分的 Microsoft Office 應用程式已經由 Microsoft Office Fluent 使用者介面的新功能區元件取代。 如需詳細資訊,請參閱 Office Fluent 功能區概觀

語法

運算式變更ctrl ()

表達 代表 CommandBarComboBox 物件的 變數。

參數

名稱 必要/選用 資料類型 描述
Ctrl 必要 CommandBarComboBox 代表 CommandBar 下拉式方塊。

註解

CommandBarComboBox 物件辨識 Change 事件。 若要傳回特定 CommandBarComboBox 控制項的 Change 事件,請使用 WithEvents 關鍵字來宣告變數並再將變數設定為 CommandBarComboBox控制項。 當觸發 Change 事件時,它會執行巨集或您指定與此控制項的 OnAction 屬性的程式碼。

範例

下列範例會將命令列建立 CommandBarComboBox控制項包含四個選項。 下拉式方塊回應透過 CommandBarComboBox_Change 事件與使用者互動。

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

上一個範例依賴下列儲存在 VBA 專案的類別模組中的程式碼。

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

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應