Lm th? no ? tu? ch?nh cc menu v menu bar trong Excel

D?ch tiu ? D?ch tiu ?
ID c?a bi: 830502 - Xem s?n ph?m m bi ny p d?ng vo.
Bung t?t c? | Thu g?n t?t c?

? Trang ny

TM T?T

Bi vi?t ny m t? cch ty bi?n cc menu v menu bar trong Microsoft Excel 2000 v sau . Bi vi?t ny ch?a b?c h?ng d?n v m?u m? l?p tr?nh qu?n l? v ty ch?nh cc thanh tr?nh n, tr?nh n, l?nh, menu con, v tr?nh n phm t?t trong Microsoft Excel.

GI?I THI?U

? th?c hi?n nhi?u tc v? thng th?ng c lin k?t v?i ty bi?n cc thanh menu v Menu trong Microsoft Excel 2000, trong Microsoft Excel 2002, v trong Microsoft Office Excel 2003, s? d?ng cc Ty ch?nhh?p tho?i. ? th?c hi?n nhi?m v? nng cao hn, ho?c ? ch?nh cc thanh menu v cc menu m?t chng tr?nh ty ch?nh, b?n c th? mu?n t?o Microsoft Visual Basic cho ?ng d?ng (VBA) m?.

? bi?t thm chi ti?t v? cch s? d?ng h?p tho?i ty ch?nh, b?m Tr? gip Microsoft Excel trn ccTr giup tr?nh n, lo?i ty ch?nh thanh menu tr? l? vn ph?ng ho?c cc thu?t s? tr? l?i, v sau nh?p vo Tim kim ? xem cc ch? ?.

Bi vi?t ny c th? gip b?n t?m hi?u k? thu?t cho vi?t VBA m? ? tu? ch?nh cc thanh menu, menu, m?c tr?nh n, menu con, v l?i t?t menu.

THNG TIN THM

Microsoft cung c?p l?p tr?nh v d? ? minh ho? ch?, khng c b?o hnh ho?c th? hi?n hay ng? ?. i?u ny bao g?m, nhng khng gi?i h?n, b?o ?m ng? ? kh? nng bn hng ho?c cho m?t m?c ch c? th?. Bi vi?t ny gi? ?nh r?ng b?n ? quen thu?c v?i ngn ng? l?p tr?nh m ang ?c ch?ng minh v v?i nh?ng cng c? ?c s? d?ng ? t?o ra v g? l?i th? t?c. Microsoft h? tr? cc k? s c th? gip gi?i thch cc ch?c nng c?a m?t th? t?c c? th?, nhng h? s? khng s?a ?i nh?ng v d? ? cung c?p thm ch?c nng ho?c xy d?ng quy tr?nh ? p ?ng cc yu c?u c? th? c?a b?n.

V d? trong bi vi?t ny

Cc v d? trong bi vi?t ny s? d?ng VBA m? trong Excel 2000, Excel 2002, v trong Excel 2003 ty ch?nh menu. ? s? d?ng cc macro v d?, lm theo cc b?c sau:
  1. Khi ng Excel.
  2. Trn cc Cng cu tr?nh n, i?m ?nV? m, sau b?m Visual Basic Bin t?p vin.
  3. Trn cc Chn tr?nh n, nh?p voM-un.
  4. G? m?t trong nh?ng v d? v? m t? bi vi?t ny, ho?c b?n c th? s? d?ng m?t ho?t ?ng sao chp v dn ? sao chp cc v d? v? m ?n m?t m-un t?.
  5. Trn cc Ch?y tr?nh n, nh?p vo Ch?y H?nh th?c ti?u/ng?i s? d?ng.
  6. Nu V? m h?p tho?i xu?t hi?n, b?m vo cc v? m tn, v sau nh?p vo Ch?y.

Cc thanh l?nh

Trong Microsoft Office, thanh cng c?, cc thanh tr?nh n v cc phm t?t tr?nh n c t?t c? cc i?u khi?n l?p tr?nh nh l m?t lo?i ?i t?ng: l?nh qu?y bar. T?t c? cc m?c sau y ?c ?i di?n trong VBA b?i CommandBar ?i t?ng:
  • Cc thanh menu, thanh cng c? v tr?nh n phm t?t.
  • Menu trn thanh tr?nh n v thanh cng c?.
  • Menu con trn menu, menu con, v tr?nh n phm t?t.
B?n c th? s?a ?i b?t k? thanh ?c xy d?ng trong menu ho?c b?t k? thanh cng c? ?c xy d?ng trong, v b?n c th? t?o v s?a ?i ty ch?nh thanh cng c?, cc thanh tr?nh n v tr?nh n phm t?t ? cung c?p v?i VBA m? c?a b?n. B?n tr?nh by cc tnh nng c?a chng tr?nh c?a b?n l c nhn nt trn thanh cng c? ho?c l nhm cc l?nh tn trn th?c n. B?i v? thanh cng c? v tr?nh n l c? hai thanh l?nh, b?n s? d?ng cng lo?i i?u khi?n.

Trong VBA v trong Microsoft Visual Basic, cc nt v cc menu items ?c ?i di?n b?i CommandBarButton cc ?i t?ng. Cc i?u khi?n c?a s? pop-up hi?n th? menu v menu con ang ?i di?n b?i CommandBarPopup cc ?i t?ng. Trong v d? sau y, i?u khi?n ?c ?t tn theo "Menu" v i?u khi?n ?c ?t tn "Menu con" l c? hai c?a s? pop-up i?u khi?n m hi?n th? m?t menu v menu con m?t. Menu v menu con l duy nh?t CommandBar cc ?i t?ng v?i ring c?a h? b? i?u khi?n.

T?i Microsoft Excel, cc thanh tr?nh n v thanh cng c? ?c g?i l cc ?i t?ng cng m?t l?p tr?nh lo?i, cc CommandBar ?i t?ng. B?n s? d?ng cc i?u khi?n ? cc CommandBar ?i t?ng ? ? c?p ?n cc menu, m?c tr?nh n, menu con v l?i t?t Menu. B?n s? d?ng m?t h?ng s? v?i m?i ki?m sot trong cc Lo?i ?i s? ? xc ?nh lo?i i?u khi?n m b?n b?n mu?n s? d?ng cho tr?nh n, menu con ho?c l?nh.

H?ng s? ki?m sot

Border|ph?i|200px y l danh sch s? d?ng cc h?ng s? ki?m sot khc nhau trong Excel nm 2003 ch? r? lo?i i?u khi?n ? h?a ? s? d?ng cho m?t tr?nh n c? th? thanh i?u khi?n:
  • MsoControlActiveX*
  • MsoControlAutoCompleteCombo***
  • MsoControlButton
  • MsoControlButtonDropdown
  • MsoControlButtonPopup
  • MsoControlComboBox
  • MsoControlCustom
  • MsoControlDropdown
  • MsoControlEdit
  • MsoControlExpandingGrid
  • MsoControlGauge
  • MsoControlGenericDropdown
  • MsoControlGraphicCombo
  • MsoControlGraphicDropdown
  • MsoControlGraphicPopup
  • MsoControlGrid
  • MsoControlLabel
  • MsoControlLabelEx***
  • MsoControlOCXDropDown
  • MsoControlPane **
  • MsoControlPopup
  • MsoControlSpinner***
  • MsoControlSplitButtonMRUPopup
  • MsoControlSplitButtonPopup
  • MsoControlSplitDropdown
  • MsoControlSplitExpandingGrid
  • MsoControlWorkPane**
* = M?i trong Microsoft Excel 2000
** = M?i trong Microsoft Excel 2002
*** = M?i trong Microsoft Office Excel 2003

Cc thanh menu

M?t thanh tr?nh n l m?t lo?i thanh l?nh. M?t thanh tr?nh n l lo?i c?a ?i t?ng ni b?n thm cc menu, m?c menu v menu con.

? bi?t thm thng tin v? lm th? no ? qu?n l? cc thanh tr?nh n v cc m?c tr?nh n trong Excel, lm theo cc b?c sau:
  1. B?t ?u Microsoft Visual Basic Editor.
  2. Trn cc Tr giup tr?nh n, nh?p vo Microsoft Visual Basic tr? gip.
  3. Trong cc Tr? l? vn ph?ng h?p ho?c trong vi?cThu?t s? tr? l?i h?p, lo?i Cc thanh menu, v sau b?m Tim kim.
  4. Trong Excel 2003 v Excel 2002, b?m vo Thm v Qu?n l? cc thanh Menu v Menu Items. Trong Excel 2000, nh?p vo V? cc menu v thanh cng c?.
B?n c th? lm cho s?a ?i ?i v?i c? hai tr?nh n thanh v ? cc i?u khi?n trn thanh tr?nh n t?i th?i gian ch?y. Nh?ng thay ?i b?n th?c hi?n menu thanh c th? ?nh h?ng ?n s? xu?t hi?n ho?c v? tr c?a thanh menu. Thay ?i m b?n H?y ? i?u khi?n ph? thu?c vo lo?i i?u khi?n. Sau b?ng danh sch cc thu?c tnh ph? bi?n nh?t v cc phng php cho vi?c thay ?i nh n?c, cc hnh ?ng, ho?c n?i dung c?a m?t i?u khi?n:
Thu g?n b?ng nyBung r?ng b?ng ny
B?t ?ng s?n, ho?c phng phpM?c ch
ThmCho bi?t thm m?t thanh tr?nh n b?ng cch s? d?ng cc Thm phng php c?a cc CommandBars ?i t?ng b? su t?p v b?ng cch xc ?nh gi tr? c?a ng ?i v?i cc Thanh menu ?i s?.
c kich hoatNu c kich hoat ti s?n ?c thi?t l?p ? ng gi tr?, ng?i dng c th? lm cho cc thanh tr?nh n c? th? c th? nh?n th?y b?ng cch s? d?ng Visual Basic m?. Nu c kich hoat ti s?n ?c thi?t l?p v?i gi tr? sai, ng?i dng khng th? lm cho tr?nh n thanh c th? nh?n th?y. Tuy nhin, thanh tr?nh n s? xu?t hi?n trong danh sch cc l?nh c s?n qun bar.
B?o v?Lm cho n c th? cho b?n ? b?o v? t? thanh menu nh?ng hnh ?ng ng?i dng c? th?.
V? trXc ?nh v? tr c?a thanh tr?nh n m?i lin quan ?n c?a s? chng tr?nh. V? tr c?a thanh menu lin quan ?n c?a s? chng tr?nh c th? l m?t trong nh?ng i?u sau y MsoBarPosition thu?c tnh lin t?c: msoBarLeft, msoBarTop, msoBarRight, msoBarBottom, msoBarFloating, msoBarPopup (?c s? d?ng ? t?o ra cc phm t?t menu) ho?c msoBarMenuBar (? s? d?ng v?i Apple Macintosh ch?).
C th? nh?n th?yCh? ?nh cho d s? ki?m sot ?c hi?n th? ho?c l ?n.

Tr? v? m?t ID cho m?t i?u khi?n thanh l?nh

o?n m? v d? sau tr? v? ID cho tr?nh n ho?t ?ng thanh:
Sub Id_Control ()
Dim myId as Object
   set myId = CommandBars("Worksheet Menu Bar").Controls("Tools")
   MsgBox myId.Caption & Chr(13) & MyId.Id
End Sub

Xc ?nh tn thanh tr?nh n ho?t ?ng

o?n m? v d? sau tr? v? tn cho tr?nh n ho?t ?ng thanh:
Sub MenuBars_GetName()
   MsgBox CommandBars.ActiveMenuBar.Name
End Sub

Lu tr?ng thi ho?t ?ng (cho built-in ho?c cho tr?nh n ty ch?nh thanh)

B?n c th? tuyn b? cc OriginalMenuBar bi?n m?t bi?n cng c?ng ? cho m?t chng tr?nh con c th? s? d?ng n trong tr?nh con khc, ch?ng h?n nh m?t chng tr?nh con Auto_Close. Tuyn b? v s? d?ng cc bi?n theo cch ny ?t l?i thanh menu tr?c c?a ng?i s? d?ng ? t?nh tr?ng ban ?u c?a n. V? m m?u sau ?t l?i thanh menu:
Public OriginalMenuBar as Object

Sub MenuBars_Capture()
   Set OriginalMenuBar = CommandBars.ActiveMenuBar
End Sub

T?o m?t thanh ty ch?nh l?nh

V d? m? sau y t?o ra m?t thanh ty ch?nh l?nh l ?t tn Thanh l?nh c?a ti:
Sub MenuBar_Create() Application.CommandBars.Add Name:="My command bar" End Sub

B?n c?ng c th? t?o m?t thanh l?nh ty ch?nh b?ng cch s? d?ng cc T?m th?i: = True ?i s?. Cc T?m th?i: = True ?i s? cho php cc thanh l?nh ? t? ?ng ?c ?t l?i khi b?n b? Excel. Sau m? s? d?ng cc T?m th?i: = True ?i s? ? t?o ra m?t thanh ty ch?nh l?nh:
Sub MenuBar_Create()
Application.CommandBars.Add Name:="My command bar", Temporary:=True
End Sub

Hi?n th? m?t l?nh ty ch?nh thanh

V d? sau t?o ra v hi?n th? cc tu? ch?nh C?a ti Ty ch?nh thanh thanh tr?nh n, v sau thay th? thanh ?c xy d?ng trong menu:
Sub MenuBar_Show()
Dim myNewBar As Object
   Set myNewBar = CommandBars.Add(Name:="Custom1", Position:=msoBarFloating)
   ' You must first enable your custom menu bar before you make it visible.
   ' Enabling a menu bar adds it to the list of available menu bars on
   ' the Customize dialog box.
' Setting the menubar property to True replaces the built-in menu bar.
   myNewBar.Enabled = True
   myNewBar.Visible = True
End Sub

Xa m?t thanh ty ch?nh l?nh

o?n m? v d? sau xa thanh tr?nh n ty ch?nh l ?t tn Ty ch?nh 1:
Sub MenuBar_Delete()
   CommandBars("Custom1").Delete
End Sub

?n thanh l?nh

o?n m? v d? sau lo?i b? built-in B?ng x?p h?ng thanh tr?nh n t? danh sch cc thanh tr?nh n c s?n:
Sub MenuBar_Display()
   CommandBars("Chart").Enabled = False
End Sub

Hi?n th? m?t thanh l?nh

o?n m? v d? sau cho bi?t thm built-in B?ng x?p h?ng thanh tr?nh n t? danh sch cc thanh tr?nh n c s?n:
Sub MenuBar_Display()
   CommandBars("Chart").Enabled = True
End Sub

Khi ph?c m?t qu?y bar xy d?ng trong l?nh

Khi ph?c l?i m?t thanh tr?nh n ?t l?i cc i?u khi?n m?c ?nh (cho c? hai menu v m?c tr?nh n). V d? m? sau y ph?c h?i built-in B?ng x?p h?ng thanh menu:
Sub MenuBar_Restore()
   CommandBars("Chart").Reset
End Sub
Chu y B?n ch? c th? ?t l?i tr?nh n ?c xy d?ng trong qu?y bar. B?n khng th? ?t l?i tu? ch?nh thanh tr?nh n.

Th?c n

Khi ph?c l?i m?t thanh tr?nh n ?t l?i cc i?u khi?n m?c ?nh (cho c? hai menu v m?c tr?nh n). V d? m? sau y ph?c h?i built-in B?ng x?p h?ng thanh menu:

Sub MenuBar_Restore()
   CommandBars("Chart").Reset
End Sub
Chu y B?n ch? c th? ?t l?i tr?nh n ?c xy d?ng trong qu?y bar. B?n khng th? ?t l?i tu? ch?nh thanh tr?nh n.

Thm m?t ki?m sot tr?nh n ty ch?nh thanh l?nh

o?n m? v d? sau cho bi?t thm tn c?a m?t n m b?n thm l?p tr?nh ?n cc B?ng tnh thanh tr?nh n. V d?, i?u ny M? cho bi?t thm tn n Tr?nh n m?i ? cc ? cc B?ng tnh thanh tr?nh n.

Chu y B?n c th? cho tr?nh n ny b?t k? tn no m b?n mu?n.
Sub Menu_Create()
Dim myMnu As Object
   Set myMnu = CommandBars("Worksheet menu bar").Controls. _
      Add(Type:=msoControlPopup, before:=3)
   With myMnu
   ' The "&" denotes a shortcut key assignment (Alt+M in this case).
      .Caption = "New &Menu"
   End With
End Sub

V hi?u ha menu i?u khi?n trn m?t thanh l?nh

M?t menu i?u khi?n b? v hi?u ha xu?t hi?n dimmed v khng ph?i l c s?n trn m?t thanh l?nh. V d? sau v hi?u ha cc M?i Tr?nh n tr?nh n:
Sub Menu_Disable()
   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = False
End Sub

Cho php m?t menu i?u khi?n trn m?t thanh l?nh

V d? m? sau y cho php cc Tr?nh n m?i tr?nh n m b?n v hi?u ha trong cc "v hi?u ho m?t menu i?u khi?n vo m?t l?nh thanh"ph?n:
Sub Menu_Disable()
   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = True
End Sub

Xa m?t menu i?u khi?n trn m?t thanh l?nh

Sau m? v d? xa cc Tr?nh n m?itr?nh n m b?n t?o ra trong cc "thm m?t i?u khi?n tr?nh n ty ch?nh thanh l?nh" ph?n t? cc B?ng tnh thanh menu:
Sub Menu_Delete()
   CommandBars("Worksheet menu bar").Controls("New &Menu").Delete
End Sub

Khi ph?c l?i quy?n ki?m sot tr?nh n trn m?t thanh l?nh

V d? m? sau y ph?c h?i built-in B?ng x?p h?ng thanh tr?nh n trn cc B?ng tnh thanh menu:
Sub Menu_Restore()
Dim myMnu As Object
   Set myMnu = CommandBars("Chart")
   myMnu.Reset
End Sub

L?nh

Ph?m vi c?a cc s?a ?i m b?n c th? th?c hi?n cho m?t l?nh ph? thu?c vo lo?i i?u khi?n. Ni chung, cc nt ho?c l ?c kch ho?t ho?c b? ?n. Ch?nh s?a h?p, h?p th? xu?ng danh sch v h?p t? h?p linh ho?t hn trong b?n c th? thm ho?c xo kho?n m?c kh?i danh sch. Ngoi ra, b?n c th? xc ?nh cc hnh ?ng th?c hi?n b?ng cch xem xt gi tr? c?a cc m?c m b?n ? ch?n t? trong danh sch. B?n c th? thay ?i hnh ?ng c?a b?t k? ki?m sot ?n m?t ch?c nng ?c xy d?ng trong hay ?n m?t ch?c nng ty ch?nh.

B?ng sau y li?t k ph? bi?n nh?t thu?c tnh c?a m?t ki?m sot v phng php ? thay ?i tr?ng thi, hnh ?ng, ho?c n?i dung c?a m?t i?u khi?n:
Thu g?n b?ng nyBung r?ng b?ng ny
B?t ?ng s?n, ho?c phng phpM?c ch
ThmThm m?t l?nh cho m?t thanh l?nh.
AddItemThm kho?n m?c vo ph?n th? xu?ng danh sch th? xu?ng h?p danh sch hay c?a m?t h?p combo.
Phong cchCh? ?nh cho d cc nt m?t hi?n th? m?t bi?u t?ng ho?c m?t ch thch.
OnActionXc ?nh cc th? t?c ? ch?y khi ng?i dng thay ?i cc gi tr? c?a s? ki?m sot.
C th? nh?n th?yCh? ?nh cho d s? ki?m sot ?c hi?n th? ho?c l ?n.

? bi?t thm thng tin v? Menu trong Excel 2003 v trong Excel 2002, th?c hi?n theo cc b?c sau:
  1. B?t ?u Visual Basic Script Editor.
  2. Trn cc Tr giup tr?nh n, nh?p vo Microsoft Visual Basic tr? gip.
  3. Trong cc T?m ki?m tr? gip h?p, lo?ith?c n, sau nh?n ENTER.
  4. Nh?p vo Thm v qu?n l? cc thanh Menu v Menu Items (Vn ph?ng).

Thm m?t thanh d?u phn tch vo m?t menu i?u khi?n

o?n m? v d? sau cho bi?t thm m?t phn cch thanh tr?c khi cc B?ng tnh l?nh trn cc Chn tr?nh n:
Sub menuItem_AddSeparator()
   CommandBars("Worksheet menu bar").Controls("Insert") _
   .Controls("Worksheet").BeginGroup = True
End Sub
Chu y ? lo?i b? m?t thanh d?u phn tch, ?t cc BeginGroup b?t ?ng s?n ? Sai.

T?o ra m?t i?u khi?n ty ch?nh l?nh trn m?t n

V d? m? sau y t?o ra m?t l?nh m?i ?c ?t tn theo Custom1 trn cc Cng cu th?c n c?a cc B?ng tnh thanh tr?nh n, v sau ch?y cc Code_Custom1 v? m b?ng cch nh?p Custom1:
Sub menuItem_Create()
   With CommandBars("Worksheet menu bar").Controls("Tools")
      .Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Custom1"
      .Controls("Custom1").OnAction = "Code_Custom1"
   End With
End Sub

?t m?t d?u ki?m c?nh ? m?t i?u khi?n l?nh

o?n m? v d? sau ?t m?t d?u ki?m k? bn cc Custom1 l?nh n?u n khng ?c ch?n, v sau lo?i b? d?u n?u cc Custom1 l?nh ?c ch?n:
Sub menuItem_checkMark()
Dim myPopup as Object

   Set myPopup = CommandBars("Worksheet menu bar").Controls("Tools")
   If myPopup.Controls("Custom1").State = msoButtonDown Then
      ' Remove check mark next to menu item.
      myPopup.Controls("Custom1").State = msoButtonUp
      MsgBox "Custom1 is now unchecked"
      Else
        ' Add check mark next to menu item.
         myPopup.Controls("Custom1").State = msoButtonDown
         MsgBox "Custom1 is now checked"
    End If
End Sub

V hi?u ho m?t i?u khi?n l?nh trn m?t thanh l?nh

V hi?u ha cc o?n m? v d? sau cc Custom1 l?nh b?n t?o ra trn cc Cng cu Menu "T?o ra m?t i?u khi?n ty ch?nh l?nh trn m?t n" ph?n:
Sub MenuItem_Disable()
Dim myCmd as Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
   myCmd.Controls("Custom1").Enabled = False
End Sub

Cho php i?u khi?n l?nh trn m?t thanh l?nh

V d? m? sau y cho php cc Custom1 l?nh b?n v hi?u ha trong cc "v hi?u ho m?t i?u khi?n l?nh trn m?t l?nh thanh"ph?n:
Sub MenuItem_Enable()
Dim myCmd as Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
   myCmd.Controls("Custom1").Enabled = True
End Sub

Xo m?t i?u khi?n l?nh trn m?t n

o?n m? v d? sau xa cc Lul?nh trn cc Tp tr?nh n:
Sub menuItem_Delete()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
   myCmd.Controls("Save").Delete
End Sub

Khi ph?c l?i quy?n ki?m sot ?c xy d?ng trong l?nh trn m?t n

? khi ph?c l?i quy?n ki?m sot l?nh trn m?t tr?nh n, b?n ph?i bi?t cc s? nh?n d?ng (ID) cho s? ki?m sot. ? xc ?nh s? ID, xem cc "M?t ID cho m?t l?nh thanh i?u khi?n tr? l?i" ph?n. V d? sau xo v sau ph?c h?i cc Lu l?nh b?n ? xo trong cc "Xa m?t i?u khi?n l?nh trn m?t n" ph?n:
Sub menuItem_Restore()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
   ' Id 3 refers to the Save menu item control.
   myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5
End Sub

Menu con

Menu con xu?t hi?n bn trong tr?nh n ph? huynh khi b?n b?m vo m?t b? ch? huy. M?t l?nh l m?t i?u khi?n menu con c m?t m?i tn mu en nh? l t?a l?c t?i cu?i tn ch? huy, ng.

Thm m?t menu con

o?n m? v d? sau cho bi?t thm m?t menu con m?i ?c ?t tn theo NewSub ? cc Cng cu Menu trn cc B?ng tnh thanh menu:
Sub SubMenu_Create()
Dim newSub as Object
   Set newSub = CommandBars("Worksheet menu bar").Controls("Tools")
   With newSub
      .Controls.Add(Type:=msoControlPopup, Before:=1).Caption="NewSub"
   End With
End Sub

Thm m?t l?nh cho m?t menu con

o?n m? v d? sau cho bi?t thm m?t l?nh m?i ?c ?t tn theo SubItem1 ? cc NewSub menu con, v sau n ch?y cc Code_SubItem1 v? m b?ng cch nh?p SubItem1:
Sub SubMenu_AddItem()
Dim newSubItem as Object
   Set newSubItem = CommandBars("Worksheet menu bar") _
   .Controls("Tools").Controls("NewSub")
   With newSubItem
      .Controls.Add(Type:=msoControlButton, Before:=1).Caption = "SubItem1"
      .Controls("SubItem1").OnAction = "Code_SubItem1"
   End With
End Sub

V hi?u ho m?t i?u khi?n l?nh trn m?t menu con

o?n m? v d? sau v hi?u ha nh nhau SubItem l?nh m b?n t?o ra trong cc "thm m?t l?nh cho m?t menu con" ph?n:

Sub SubMenu_DisableItem()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Controls("SubItem1").Enabled = False
End Sub


V d? sau cho php l?nh SubItem tng t?:
Sub SubMenu_DisableItem()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Controls("SubItem1").Enabled = True
End Sub

Xa m?t l?nh trn m?t menu con

V d? sau xa cc SubItem1 l?nh b?n t?o ra trn cc NewSub menu con trong ph?n "Thm m?t l?nh cho m?t menu con":
Sub SubMenu_DeleteItem()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Controls("SubItem1").Delete
End Sub

V hi?u ho m?t i?u khi?n menu con

V hi?u ha cc o?n m? v d? sau cc NewSubmenu con b?n t?o ra trn cc Cng cu Menu trong cc "thm m?t menu con"ph?n:
Sub SubMenu_DisableSub()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Enabled = False
End Sub
Chu y ? cho php i?u khi?n b? v hi?u ho, ?t cc c kich hoat b?t ?ng s?n ? S? th?t.

Xo m?t i?u khi?n menu con

o?n m? v d? sau xa cc NewSubmenu con b?n t?o ra trn cc Cng cu Menu trong cc "thm m?t menu con"ph?n:
Sub SubMenu_DeleteSub()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Delete
End Sub

Phm t?t tr?nh n thanh

M?t tr?nh n phm t?t l m?t thanh l?nh n?i xu?t hi?n khi cc ng?i s? d?ng right-clicks m?t ?i t?ng. M?t thanh tr?nh n phm t?t c th? ch?a cng m?t i?u khi?n lo?i nh m?t thanh l?nh v i?u khi?n c x? gi?ng nh cc i?u khi?n trn m?t thanh l?nh. B?n khng th? t?o ho?c s?a ?i tr?nh n phm t?t t? cc chng tr?nh giao di?n trong h?u h?t cc chng tr?nh. V? v?y, b?n ph?i t?o v s?a ?i cc phm t?t c?a b?n tr?nh n ? th?i gian ch?y.

Cho bi?t thm thng tin v? phm t?t tr?nh n trong Excel nm 2002 v trong Excel 2003, h?y lm theo cc b?c sau:
  1. B?t ?u Visual Basic Script Editor.
  2. Trn cc Tr giup tr?nh n, nh?p vo Microsoft Visual Basic tr? gip.
  3. Trong cc T?m ki?m tr? gip h?p, lo?il?i t?t, sau nh?n ENTER.
  4. Nh?p vo Thm v hi?n th? cc l?i t?t Th?c n.

T?o m?t thanh tr?nh n phm t?t m?i

V d? m? sau y t?o ra m?t thanh tr?nh n m?i l?i t?t l ?t tn myShortcutBar:

Sub Shortcut_Create()
Dim myShtCtBar as Object
   Set myShtCtBar = CommandBars.Add(Name:="myShortcutBar", _
   Position:=msoBarPopup)
    This displays the shortcut menu bar.
    200, 200 refers to the screen position in pixels as x and y coordinates.
   myShtCtBar.ShowPopup 200,200
End Sub

Chu y Thanh tr?nh n phm t?t xu?t hi?n c s?n ph?m no b?i v? khng c i?u khi?n (tr?nh n kho?n m?c ho?c n nhi?u) ? ?c thm vo n.

L?i t?t menu

Phm t?t tr?nh n thanh xu?t hi?n khi b?n s? d?ng nt chu?t ph?i ? Nh?p vo Excel l m?t ?i t?ng c? th?. Excel c nhi?u phm t?t tr?nh n thanh m m?t lo?t cc menu c s?n. B?n c?ng c th? t?o phm t?t tu? ch?nh tr?nh n thanh v ty ch?nh cc thanh ?c xy d?ng trong tr?nh n.

T?o ra m?t l?nh trn m?t thanh tr?nh n phm t?t

V d? m? sau y t?o ra m?t l?nh tr?nh n m?i l ?t tn Item1 trn cc myShortcutBar thanh tr?nh n phm t?t v n ch?y cc Code_Item1 v? m b?ng cch nh?p Item1:
Sub Shortcut_AddItem()
Dim myBar as Object
   Set myBar = CommandBars("myShortcutBar")
   With myBar
      .Controls.Add (Type:=msoControlButton, before:=1).Caption = "Item1"
      .Controls("Item1").OnAction = "Code_Item1"
   End With
   myBar.ShowPopup 200,200
End Sub

V hi?u ho m?t i?u khi?n l?nh trn m?t thanh tr?nh n phm t?t

V hi?u ha cc o?n m? v d? sau cc Item1 l?nh m b?n t?o ra trong nh?ng "t?o ra m?t l?nh trn m?t phm t?t ph?n menu":
Sub Shortcut_DisableItem()
   Set myBar = CommandBars("myShortcutBar")
   myBar.Controls("Item1").Enabled = False
   myBar.ShowPopup 200,200
End Sub
Chu y ? b?t m?c b? v hi?u ho, ?t cc c kich hoat b?t ?ng s?n ? S? th?t.

Xa m?t l?nh trn m?t thanh tr?nh n phm t?t

o?n m? v d? sau xa b? l?nh tr?nh n ?c ?t tn theo Item1 trn cc myShortcutBar thanh tr?nh n phm t?t:
Sub Shortcut_DeleteItem()
   Set myBar = CommandBars("myShortcutBar")
   myBar.Controls("Item1").Delete
   myBar.ShowPopup 200,200
End Sub

Xa m?t thanh tr?nh n phm t?t

Vi?c xo thanh tr?nh n phm t?t s? xo t?t c? cc m?c. B?n c th? khng Khi ph?c m?t thanh menu ty ch?nh ? xo. ? khi ph?c n, b?n ph?i t?o l?i n v t?t c? cc m?c tr?nh n v cc menu con.

o?n m? v d? sau xo cc myShortCutBar thanh tr?nh n phm t?t m b?n t?o ra trong cc "T?o ra m?t l?nh trn m?t thanh tr?nh n phm t?t" ph?n:
Sub Shortcut_DeleteShortCutBar()
   CommandBars("MyShortCutBar").Delete
End Sub

Khi ph?c l?i m?t l?nh trn m?t l?i t?t ?c xy d?ng trong thanh menu

V d? m? sau y ph?c h?i cc l?nh m?c ?nh trn cc b?ng tnh T? bo thanh tr?nh n phm t?t:
Sub Shortcut_RestoreItem()
   CommandBars("Cell").Reset
End Sub

Menu con trn tr?nh n phm t?t

B?n c th? t?o n nhi?u vo phm t?t tr?nh n thanh. Menu con xu?t hi?n bn trong tr?nh n ph? huynh khi b?n nh?p vo m?t i?u khi?n l?nh. M?t l?nh l m?t i?u khi?n menu con c m?t m?i tn nh?, mu en c v? tr bn ph?i c?a n Tn.

T?o m?t menu con m?i trn thanh tr?nh n phm t?t

V d? sau cho bi?t thm m?t menu con m?i ?c ?t tn theo NewSub trn b?ng tnh T? bo tr?nh n phm t?t:
Sub ShortcutSub_Create()
   CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _
   .Caption = "NewSub"
    ' This displays the shortcut menu bar.
    ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
Chu y Menu con l tr?ng r?ng, b?i v? khng c m?c tr?nh n ? ?c thm vo n.

T?o ra m?t i?u khi?n l?nh trn m?t menu con c v? tr trn m?t thanh tr?nh n phm t?t

V? m sau y cho bi?t thm cc SubItem1 l?nh menu con NewSub m b?n t?o ra trn cc T? bo phm t?t tr?nh n, v sau ch?y cc Code_SubItem1 v? m b?ng cch nh?p SubItem1:
Sub ShortcutSub_AddItem()
Dim newSubItem as Object
   Set newSubItem = CommandBars("Cell").Controls("NewSub)
   With newSubItem
      .Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1"
      ' This will run the subItem1_Code macro when subItem1 is clicked.
      .Controls("subItem1").OnAction = "Code_subItem1"
   End With
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates
   CommandBars("Cell").ShowPopup 200, 200
End Sub

V hi?u ho m?t menu con m? ki?m sot trn m?t tr?nh n phm t?t

V hi?u ha cc o?n m? v d? sau cc SubItem1 l?nh trn cc NewSub menu con:
Sub ShortcutSub_DisableItem()
   CommandBars("Cell").Controls("NewSub") _
   .Controls("subItem1").Enabled = False
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
Chu y ? cho php m?t m?c b? v hi?u ho, ?t cc c kich hoat b?t ?ng s?n ? S? th?t.

Xa m?t menu con m? ki?m sot trn m?t tr?nh n phm t?t

V d? sau xa cc SubItem1 l?nh trn cc NewSub menu con:
Sub ShortcutSub_DeleteItem()
   CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub

V hi?u ho m?t i?u khi?n menu con trn m?t tr?nh n phm t?t

V hi?u ha cc o?n m? v d? sau cc NewSubmenu con trn cc T? bo thanh tr?nh n phm t?t:
Sub ShortcutSub_DisableSub()
   CommandBars("Cell").Controls("NewSub").Enabled = False
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
Chu y ? cho php m?t m?c b? v hi?u ho, ?t cc c kich hoat b?t ?ng s?n ? S? th?t.

Xo m?t i?u khi?n menu con trn m?t tr?nh n phm t?t

o?n m? v d? sau xa cc NewSubmenu con b?n t?o ra trn cc T? bo thanh tr?nh n phm t?t:
Sub ShortcutSub_DeleteSub()
   CommandBars("Cell").Controls("NewSub").Delete
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub

T?m thm thng tin

Cc ngu?n l?c sau y c s?n ? cung c?p thm thng tin v? lm th? no ? customize menu v menu bar trong Excel.

?i t?ng tr?nh duy?t

Cc tr?nh duy?t ?i t?ng ch?a m?t danh sch ?y ? c?a t?t c? cc thu?c tnh v t?t c? cc phng php cho m?t l?nh c? th?. ? t?m thng tin ny, chuy?n sang Visual Basic Editor (nh?n ALT + F11), nh?p vo ?i t?ng tr?nh duy?ttrn cc Xem tr?nh n (ho?c nh?n F2), g? tn c?a b? i?u khi?n trong cc Tim kim h?p, v sau nh?n ENTER ho?c Click vo Tim kim.

C s? ki?n th?c Microsoft

C s? ki?n th?c Microsoft l m?t s?n ph?m Microsoft chnh thng tin ngu?n cho cc d?ch v? h? tr? Microsoft s?n ph?m h? tr? cc chuyn gia. C s? ki?n th?c Microsoft ny c?ng c s?n cho Microsoft khch hng. C s? d? li?u ton di?n ny ch?a cc bi vi?t chi ti?t v?i thng tin k? thu?t v? s?n ph?m c?a Microsoft, ti li?u s?a ch?a cac danh sach, ti li?u l?i, v cu tr? l?i cho nh?ng h?i k? thu?t h? tr? cc cu h?i.

? k?t n?i ?n Microsoft Knowledge Base, truy c?p vo cc Theo trang Web c?a Microsoft, v sau lm theo cc h?ng d?n xu?t hi?n trn cc trang:
http://support.microsoft.com

Thu?c tnh

ID c?a bi: 830502 - L?n xem xt sau cng: 30 Thang Tam 2011 - Xem xt l?i: 2.0
p d?ng
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
T? kha:
kbhowtomaster kbmt KB830502 KbMtvi
My d?ch
QUAN TRONG: Bi vi?t ny ?c d?ch b?ng ph?n m?m d?ch my c?a Microsoft ch? khng ph?i do con ng?i d?ch. Microsoft cung c?p cc bi vi?t do con ng?i d?ch v c? cc bi vi?t do my d?ch ? b?n c th? truy c?p vo t?t c? cc bi vi?t trong C s? Ki?n th?c c?a chng ti b?ng ngn ng? c?a b?n. Tuy nhin, bi vi?t do my d?ch khng ph?i lc no c?ng hon h?o. Lo?i bi vi?t ny c th? ch?a cc sai st v? t? v?ng, c php ho?c ng? php, gi?ng nh m?t ng?i n?c ngoi c th? m?c sai st khi ni ngn ng? c?a b?n. Microsoft khng ch?u trch nhi?m v? b?t k? s? thi?u chnh xc, sai st ho?c thi?t h?i no do vi?c d?ch sai n?i dung ho?c do ho?t ?ng s? d?ng c?a khch hng gy ra. Microsoft c?ng th?ng xuyn c?p nh?t ph?n m?m d?ch my ny.
Nh?p chu?t vo y ? xem b?n ti?ng Anh c?a bi vi?t ny:830502

Cung cp Phan hi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com