版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Excel VBA自定義菜單和菜單欄(江羽收集整理)【目錄】 TOC o 1-5 h z 前言3 HYPERLINK l bookmark2 o Current Document 一、簡(jiǎn)介3 HYPERLINK l bookmark4 o Current Document 二、命令欄 4 HYPERLINK l bookmark6 o Current Document 三、控件常量 4 HYPERLINK l bookmark8 o Current Document 四、菜單欄6 HYPERLINK l bookmark10 o Current Document Add方法應(yīng)用于 Comman
2、dBars對(duì)象6 HYPERLINK l bookmark12 o Current Document 4.2返回命令欄控件的ID7 HYPERLINK l bookmark14 o Current Document 4.3確定活動(dòng)菜單欄的名稱7 HYPERLINK l bookmark16 o Current Document 4.4保存(內(nèi)置或自定義菜單欄的)活動(dòng)狀態(tài)8 HYPERLINK l bookmark18 o Current Document 4.5創(chuàng)建自定義命令欄8 HYPERLINK l bookmark20 o Current Document 4.6顯示自定義命令欄8 HY
3、PERLINK l bookmark22 o Current Document 4.7刪除自定義命令欄9 HYPERLINK l bookmark24 o Current Document 4.8隱藏命令欄9 HYPERLINK l bookmark26 o Current Document 4.9顯示命令欄9 HYPERLINK l bookmark28 o Current Document 4.10還原內(nèi)置命令欄9 HYPERLINK l bookmark30 o Current Document 五、菜單10 HYPERLINK l bookmark32 o Current Docume
4、nt Add 方法用于 CommandBarControls 對(duì)象 10 HYPERLINK l bookmark34 o Current Document 5.2向命令欄添加自定義菜單控件11 HYPERLINK l bookmark36 o Current Document 5.3禁用命令欄上的菜單控件11 HYPERLINK l bookmark38 o Current Document 5.4啟用命令欄上的菜單控件11 HYPERLINK l bookmark40 o Current Document 5.5刪除命令欄上的菜單控件12 HYPERLINK l bookmark42 o
5、Current Document 5.6還原命令欄上的菜單控件12 HYPERLINK l bookmark44 o Current Document 六、命令 12 HYPERLINK l bookmark46 o Current Document 6.1向菜單控件添加分隔條13 HYPERLINK l bookmark48 o Current Document 6.2在菜單上創(chuàng)建自定義命令控件13 HYPERLINK l bookmark50 o Current Document 6.3在命令控件旁放置選中標(biāo)記13 HYPERLINK l bookmark52 o Current Docu
6、ment 6.4禁用命令欄上的命令控件14 HYPERLINK l bookmark54 o Current Document 6.5啟用命令欄上的命令控件14 HYPERLINK l bookmark56 o Current Document 6.6刪除菜單上的命令控件15 HYPERLINK l bookmark58 o Current Document 6.7還原菜單上的內(nèi)置命令控件15 HYPERLINK l bookmark60 o Current Document 七、子菜單15 HYPERLINK l bookmark62 o Current Document 7.1添加子菜單1
7、6 HYPERLINK l bookmark64 o Current Document 7.2向子菜單添加命令16 HYPERLINK l bookmark66 o Current Document 7.3禁用子菜單上的命令控件167.4刪除子菜單上的命令7.5禁用子菜單控件7.6刪除子菜單控件 八、快捷菜單欄8.1新建快捷菜單欄 九、快捷菜單171717181819 TOC o 1-5 h z HYPERLINK l bookmark80 o Current Document 9.1在快捷菜單欄上創(chuàng)建命令19171717181819 HYPERLINK l bookmark82 o Curr
8、ent Document 9.2禁用快捷菜單欄上的命令控件19 HYPERLINK l bookmark84 o Current Document 9.3刪除快捷菜單欄上的命令20 HYPERLINK l bookmark86 o Current Document 9.4刪除快捷菜單欄20 HYPERLINK l bookmark88 o Current Document 9.5還原內(nèi)置快捷菜單欄上的命令20 HYPERLINK l bookmark90 o Current Document 十、快捷菜單上的子菜單20 HYPERLINK l bookmark92 o Current Docu
9、ment 10.1在快捷菜單欄上新建子菜單21 HYPERLINK l bookmark94 o Current Document 10.2在快捷菜單欄的子菜單上創(chuàng)建命令控件21 HYPERLINK l bookmark96 o Current Document 10.3禁用快捷菜單上的子菜單項(xiàng)控件22 HYPERLINK l bookmark98 o Current Document 10.4刪除快捷菜單上的子菜單項(xiàng)控件22 HYPERLINK l bookmark100 o Current Document 10.5禁用快捷菜單上的子菜單控件22 HYPERLINK l bookmark1
10、02 o Current Document 10.6刪除快捷菜單上的子菜單控件23在EXCEL中,我們的操作都是通過“工具欄、菜單欄、快捷菜”單實(shí)現(xiàn)。EXCEL通 過菜單給我們提供基本操作功能之外,也為我們提供了擴(kuò)展自定義功能的接口,即自定義自 己的工具欄、菜單欄。本文著重介紹如何在Excel 2003版本中通過編程方式自定義菜單和菜單欄方法。其中 包含Excel中管理和自定義菜單欄、菜單、命令、子菜單和快捷菜單,我將通過代碼實(shí)例 分步說明。與大家分享關(guān)于VBA實(shí)現(xiàn)菜單欄管理與自定義菜單欄功能的實(shí)現(xiàn)。一、簡(jiǎn)介在Microsoft Excel 2000以上版本中實(shí)現(xiàn)許與自定義菜單欄和菜單相關(guān)的常
11、見任務(wù),可 以使用“自定義”對(duì)話框(見圖11)。但如果要實(shí)現(xiàn)較高級(jí)任務(wù)或?yàn)樽远x程序定制菜單欄 和菜單,就需要?jiǎng)?chuàng)建 Microsoft Visual Basic for Applications (VBA)代碼。自定熨工具欄 命令 選項(xiàng)(Q)在工員欄中忝加新命令:選擇類別并將命令從此對(duì)詣框拖放至工晨 負(fù)別:命專迦:載電表和豹據(jù)口圖選作b數(shù)窗瑩自制weSira 箱載電表和豹據(jù)口圖選作b數(shù)窗瑩自制weSira 箱新菜單更改所選內(nèi)容帥自走文菜單項(xiàng)= 自定交捲鈕V重排命令.其閉圖1.1有關(guān)如何使用“自定義”對(duì)話框的更多信息,你可以單擊“幫助”菜單上的MicrosoftExcel自定義菜單和菜單欄 Ex
12、cel幫助”在“Office助手”或“搜索向?qū)А敝墟I入自定義菜單欄,然后單擊“搜索” 查看主題。二、命令欄在Microsoft Office中,所有工具欄、菜單欄和快捷菜單都是被作為“命令欄”這樣- 種對(duì)象以編程方式控制的。下列所有項(xiàng)目在VBA中皆用CommandBar對(duì)象表示:菜單欄、工具欄和快捷菜單。菜單欄和工具欄上的菜單。菜單、子菜單和快捷菜單上的子菜單。您可以修改任何內(nèi)置的菜單欄和工具欄,還可以創(chuàng)建和修改用您自己的VBA代碼交 付的自定義工具欄、菜單欄和快捷菜單。您可以將程序功能以單個(gè)按鈕的形式放在工具欄上, 或以命令名稱組的形式放在菜單上。因?yàn)楣ぞ邫诤筒藛味际敲顧?,所以可以使用同?/p>
13、類型 的控件。在 VBA 和 Microsoft Visual Basic 中,按鈕和菜單項(xiàng)用 CommandBarButton 對(duì)象表 示。顯示菜單和子菜單的彈出控件用CommandBarPopup對(duì)象表示。在以下示例中,名為 “Menu”的控件和名為“Submenu”的控件都是用于顯示菜單和子菜單的彈出控件,并且 這兩個(gè)控件是各自的控件集中唯一的CommandBar對(duì)象。在Microsoft Excel中,菜單欄和工具欄被視為是同一種可編程對(duì)象,即CommandBar 對(duì)象。可以使用CommandBar對(duì)象中的控件來指代菜單、菜單項(xiàng)、子菜單和快捷菜單。 可以在Type參數(shù)中使用一個(gè)常量為每
14、個(gè)控件指定要用于菜單、子菜單或命令的控件類型。三、控件常量下面是Excel 2003中的各種控件常量的列表,這些常量指定用于特定菜單欄控件的圖 形控件類型:MsoControlActiveX*MsoControlAutoCompleteCombo*MsoControlButtonExcel自定義菜單和菜單欄MsoControlButtonDropdownMsoControlButtonPopupMsoControlComboBoxMsoControlCustomMsoControlDropdownMsoControlEditMsoControlExpandingGridMsoControlGa
15、ugeMsoControlGenericDropdownMsoControlGraphicComboMsoControlGraphicDropdownMsoControlGraphicPopupMsoControlGridMsoControlLabelMsoControlLabelEx*MsoControlOCXDropDownMsoControlPane *MsoControlPopupMsoControlSpinner*MsoControlSplitButtonMRUPopupMsoControlSplitButtonPopupMsoControlSplitDropdownMsoContr
16、olSplitExpandingGridMsoControlWorkPane*表示 Microsoft Excel 2000中的新增項(xiàng)*表示 Microsoft Excel 2002中的新增項(xiàng)* 表示 Microsoft Office Excel 2003 中的新增項(xiàng)四、菜單欄菜單欄是一種命令欄。它是一種可在其中添加菜單、菜單項(xiàng)和子菜單的對(duì)象。有關(guān)如何在Excel中管理菜單欄和菜單項(xiàng)的更多信息,請(qǐng)按照下列步驟操作:?jiǎn)?dòng) Microsoft Visual Basic 編輯器。在“幫助”菜單上,單擊“Microsoft Visual Basic幫助”。在“Office助手”框或“應(yīng)答向?qū)А笨蛑?,鍵
17、入菜單欄,然后單擊“搜索”在Excel2003和Excel2002中,單擊“添加和管理菜單欄和菜單項(xiàng)”。在Excel2000中,單擊“關(guān)于菜單和工具欄”。可以在運(yùn)行時(shí)修改菜單欄及該菜單欄上的控件。對(duì)菜單欄所做的更改可能會(huì)影響菜單欄的外觀或位置??蓪?duì)控件進(jìn)行的更改取決于控件類型。下表列出了最常見的屬性和常用于更改控件的狀態(tài)、操作或內(nèi)容的方法:屬性或方法用途Add添加菜單欄,方法是使用CommandBars對(duì)象集合的Add 方法,然后為Menubar參數(shù)指定TRUE值。Enabled如果Enabled屬性的值為 TRUE,那么用戶可以使用 Visual Basic代碼使指定的菜單欄可見。如果Ena
18、bled屬性 的值為FALSE,用戶就無法讓菜單欄可見。不過,菜單欄 將出現(xiàn)在可用命令欄列表中。Protection使您可以通過特定用戶操作來保護(hù)菜單欄。Position指定新菜單欄相對(duì)于程序窗口的位置。菜單欄相對(duì)于程序 窗口的位置可以是以下 MsoBarPosition常量屬性之一: msoBarLeft、msoBarTop、msoBarRight、msoBarBottom、 msoBarFloating、msoBarPopup (用于創(chuàng)建快捷菜單)或 msoBarMenuBar (僅用于 Apple Macintosh)oVisible定控件是可見的指,還是隱藏的。4.1 Add方法應(yīng)用于
19、CommandBars對(duì)象新建一個(gè)命令欄并添加到命令欄集合。返回CommandBar對(duì)象。expression.Add ( Name , Position , MenuBar , Temporary )expression必需。該表達(dá)式返回一個(gè)CommandBars對(duì)象。Name (Variant類型)可選。新命令欄的名稱。如果忽略該參數(shù),則為命令欄指定默認(rèn)名稱(例如:Custom 1)。 Position (Variant類型)可選。新命令欄的位置或類型。可以為下表所列的MsoBarPosition 常量之一。常量說明msoBarLeft、msoBarTop、msoBarRight 和 ms
20、oBarBottom指定新命令欄的左側(cè)、頂部、右側(cè)和底部坐標(biāo)msoBarFloating指定新命令欄不固定msoBarPopup指定新命令欄為快捷菜單msoBarMenuBar僅適用于Macintosh機(jī)MenuBar (Variant類型)可選。設(shè)置為True將以新命令欄替換活動(dòng)菜單欄。默認(rèn)值為False。Temporary (Variant類型)可選。設(shè)置為True將使新命令欄為臨時(shí)命令欄。臨時(shí)命令欄在關(guān)閉容器應(yīng)用程序時(shí)刪除。默認(rèn)值為Falseo4.2返回命令欄控件的ID以下代碼示例返回活動(dòng)菜單欄的ID:Sub Id_Control ()Dim myId as ObjectSet myId
21、 = CommandBars(Worksheet Menu Bar).Controls(工具(&T)MsgBox myId.Caption & Chr(13) & MyId.IdEnd Sub43確定活動(dòng)菜單欄的名稱以下代碼示例返回活動(dòng)菜單欄的名稱:Sub MenuBars_GetName()MsgBox CommandBars.ActiveMenuBar.Name44保存(內(nèi)置或自定義菜單欄的)活動(dòng)狀態(tài)您可能需要將OriginalMenuBar變量聲明為公共變量,這樣,子例程就可以在其他子 例程(如Auto_Close子例程)中使用該變量。以這種方式聲明和使用該變量會(huì)將用戶的上 一個(gè)菜單欄重
22、置為初始狀態(tài)。以下示例宏重置菜單欄:Public OriginalMenuBar as ObjectSub MenuBars_Capture()Set OriginalMenuBar = CommandBars.ActiveMenuBarEnd Sub45創(chuàng)建自定義命令欄以下代碼示例創(chuàng)建名為My Command Bar的自定義命令欄:Sub MenuBar_Create()Application.CommandBars.Add Name:=My command barEnd Sub您還可以通過使用Temporary:=True參數(shù)來創(chuàng)建自定義命令欄Temporary:=True參數(shù) 允許命令欄
23、在您退出Excel時(shí)自動(dòng)重置。以下代碼使用Temporary:=True參數(shù)創(chuàng)建自定義 命令欄:Sub MenuBar_Create()Application.CommandBars.Add Name:=My command bar, Temporary:=TrueEnd Sub4.6顯示自定義命令欄以下示例創(chuàng)建并顯示自定義的“My Custom Bar”菜單欄,然后用它替換內(nèi)置的菜單欄:Sub MenuBar_Show()Dim myNewBar As ObjectSet myNewBar = CommandBars.Add(Name:=Customl, Position:=msoBarFl
24、oating)您必須先啟用您的自定義菜單欄,然后看見它。使菜單欄添加到自定義對(duì)話框列表中的可用菜單欄上。設(shè)置菜單屬性設(shè)置為True取代內(nèi)置的菜單欄。myNewBar.Enabled = TruemyNewBar.Visible = TrueEnd Sub4.7刪除自定義命令欄以下代碼示例刪除名為“ Custom 1”的自定義菜單欄:Sub MenuBar_Delete()CommandBars(Custom1).DeleteEnd Sub4.8隱藏命令欄以下代碼示例從可用菜單欄列表中刪除內(nèi)置“圖表”菜單欄:Sub MenuBar_Display()CommandBars(Chart).Enab
25、led = FalseEnd Sub4.9顯示命令欄以下代碼示例從可用菜單欄中添加內(nèi)置“圖表”菜單欄:Sub MenuBar_Display()CommandBars(Chart).Enabled = TrueEnd Sub4. 10還原內(nèi)置命令欄還原菜單欄會(huì)重置(菜單和菜單項(xiàng)的)默認(rèn)控件。示例代碼還原內(nèi)置“圖表”菜單欄:Sub MenuBar_Restore()CommandBars(Chart).ResetEnd Sub注意:您只能重置內(nèi)置菜單欄,不能重置自定義菜單欄。五、菜單5.1 Add 方法用于 CommandBarControls 對(duì)象新建一個(gè)CommandBarControl對(duì)象
26、并添加到指定命令欄上的控件集合。Expression.Add ( Type , Id , Parameter , Before , Temporary )expression必需。該表達(dá)式返回一個(gè)CommandBarControls對(duì)象。Type ( Variant類型)可選。添加到指定命令欄的控件類型??梢詾橄铝蠱soControlType 常量之一:常量說明msoControlButton命令按鈕msoControlEdit文本框msoControlDropdown下拉列表msoControlComboBox組合框msoControlPopup彈出菜單Id (Variant類型)可選。指定
27、內(nèi)置控件的整數(shù)。如果該參數(shù)為1 ,或者忽略該 參數(shù),將在命令欄中添加一個(gè)空的指定類型的自定義控件。Parameter( Variant類型)可選。對(duì)于內(nèi)置控件,該參數(shù)用于容器應(yīng)用程序運(yùn)行 命令。對(duì)于自定義控件,可以使用該參數(shù)向Visual Basic過程傳遞信息,或用其 存儲(chǔ)控件信息(類似于第二個(gè)Tag屬性值)。Before(Variant類型)可選。表示新控件在命令欄上位置的數(shù)字。新控件將插入 到該位置控件之前。如果忽略該參數(shù),控件將添加到指定命令欄的末端。Temporary (Variant類型)可選。設(shè)置為True將使新命令欄為臨時(shí)命令欄。臨時(shí)命令欄在關(guān)閉容器應(yīng)用程序時(shí)刪除。默認(rèn)值為Fa
28、lse。5.2向命令欄添加自定義菜單控件以下代碼示例將您通過編程方式添加的菜單名稱添加到“工作表”菜單欄中。例如,此 代碼會(huì)將菜單名稱“New Menu”添加到“工作表”菜單欄中。注意:您可以根據(jù)需要為該菜單指定任何名稱。Sub Menu_Create()Dim myMnu As ObjectSet myMnu = CommandBars(Worksheet menu bar).Controls.Add(Type:=msoControlPopup, before:=3)With myMnu&用以指定快捷鍵字符(相當(dāng)于Alt+M).Caption = New & MenuEnd WithEnd
29、Sub53禁用命令欄上的菜單控件禁用的菜單控件在命令欄中顯示為灰色,并且不可用。以下示例禁用“New Menu”菜單:Sub Menu_Disable()CommandBars(Worksheet menu bar).Controls(New &Menu).Enabled = FalseEnd Sub54啟用命令欄上的菜單控件以下代碼示例啟用您在“禁用命令欄上的菜單控件” 一節(jié)中禁用的New Menu菜單:Sub Menu_Disable()CommandBars(Worksheet menu bar).Controls(New &Menu).Enabled = TrueEnd Sub55刪除
30、命令欄上的菜單控件以下代碼示例從“工作表”菜單欄中刪除您在“向命令欄添加自定義菜單控件”一節(jié)中 創(chuàng)建的“ New Men u”菜單:Sub Menu_Delete()CommandBars(Worksheet menu bar).Controls(New & Menu).DeleteEnd Sub5.6還原命令欄上的菜單控件以下代碼示例還原“工作表”菜單欄上的內(nèi)置“圖表”菜單欄:Sub Menu_Restore()Dim myMnu As ObjectSet myMnu = CommandBars(Chart)myMnu.ResetEnd Sub六、命令可以對(duì)命令進(jìn)行的修改與控件的類型有關(guān)。一
31、般來說,按鈕要么被啟用,要么被隱藏。 而編輯框、下拉列表框和組合框較為靈活一些,因?yàn)槟梢栽诹斜碇刑砑踊騽h除項(xiàng)目。另外, 還可以通過查看在列表中選中的項(xiàng)目的值來確定執(zhí)行的操作。您可以將任何控件的操作更改 為內(nèi)置函數(shù)或自定義函數(shù)。F表列出了最常見的控件屬性和更改控件的狀態(tài)、操作或內(nèi)容的方法:屬性或方法用途Add向命令欄添加命令。AddItem向下拉列表框或組合框的下拉列表部分添加項(xiàng)目。Style指定按鈕上是顯示圖標(biāo)還是顯示標(biāo)題。OnAction指定用戶更改控件值時(shí)所運(yùn)行的過程。OnActionVisible指定控件是可見的,還是隱藏的。要了解有關(guān)Excel 2003和Excel 2002中菜單的
32、更多信息,請(qǐng)按照下列步驟操作:啟動(dòng) Visual Basic腳本編輯器。在“幫助”菜單上,單擊“Microsoft Visual Basic幫助”。在“搜索幫助”框中,鍵入菜單,然后按Entero單擊“添加和管理菜單欄和菜單項(xiàng)(Office)”。6.1向菜單控件添加分隔條以下代碼示例在“插入”菜單上的工作表命令之前添加分隔條:Sub menuItem_AddSeparator()CommandBars(Worksheet menu bar).Controls(插入(&I) _.Controls(” 工作表(&W).BeginGroup = TrueEnd Sub注意:要?jiǎng)h除分隔條,請(qǐng)將Begi
33、nGroup屬性設(shè)置為False。6.2在菜單上創(chuàng)建自定義命令控件以下代碼示例在“工作表”菜單欄的“工具”菜單上創(chuàng)建名為Customl的新命令,然 后,當(dāng)您單擊“Custom1”時(shí),它將運(yùn)行Code_Custom1宏:Sub menuItem_Create()With CommandBars(Worksheet menu bar).Controls(工 具(&T) .Controls.Add(Type:=msoControlButton, Before:=1).Caption = Custom1 .Controls(Custom1).OnAction = Code_Custom1End Wit
34、hEnd Sub6.3在命令控件旁放置選中標(biāo)記以下代碼示例在Custom1命令未選中的情況下在其旁邊放置一個(gè)選中標(biāo)記;如果Customl命令已選中,則將刪除該選中標(biāo)記:Sub menuItem_checkMark()Dim myPopup as ObjectSet myPopup = CommandBars(Worksheet menu bar).Controls(工 具(&T)If myPopup.Controls(Custom1).State = msoButtonDown Then刪除選中標(biāo)記旁邊的菜單項(xiàng)。myPopup.Controls(Custom1).State = msoButt
35、onUpMsgBox Custom1 is now uncheckedElse添加復(fù)選標(biāo)記旁邊的菜單項(xiàng)。myPopup.Controls(Custom1).State = msoButtonDownMsgBox Custom1 is now checkedEnd IfEnd Sub6.4禁用命令欄上的命令控件以下代碼示例禁用您在“在菜單上創(chuàng)建自定義命令控件”一節(jié)中在“工具”菜單上創(chuàng)建 的Custom1命令:Sub MenuItem_Disable()Dim myCmd as ObjectSet myCmd = CommandBars(Worksheet menu bar).Controls(工
36、具(&T) myCmd.Controls(Custom1).Enabled = FalseEnd Sub6.5啟用命令欄上的命令控件以下代碼示例啟用您在“禁用命令欄上的命令控件” 一節(jié)中禁用的Custom1命令:Sub MenuItem_Enable()Dim myCmd as ObjectSet myCmd = CommandBars(Worksheet menu bar).Controls(工具(&T)myCmd.Controls(Customl).Enabled = TrueEnd Sub6.6刪除菜單上的命令控件以下代碼示例刪除“文件”菜單上的“保存”命令:Sub menuItem_D
37、elete()Dim myCmd As ObjectSet myCmd = CommandBars(Worksheet menu bar).Controls(文件(&F) myCmd.Controls(” 保存(&S).DeleteEnd Sub6.7還原菜單上的內(nèi)置命令控件要還原菜單上的命令控件,必須知道該控件的標(biāo)識(shí)(ID)號(hào)。要確定ID號(hào),請(qǐng)參見“返回命令欄控件的ID” 一節(jié)。以下示例先刪除您在“刪除菜單上的命令控件” 一節(jié)中刪除的“保存”命令,然后又將其還原:Sub menuItem_Restore()Dim myCmd As ObjectSet myCmd = CommandBars(
38、Worksheet menu bar).Controls(文件(&F) Id 3為保存子菜單項(xiàng)ID號(hào).myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5End Sub七、子菜單當(dāng)您單擊某個(gè)命令時(shí),父菜單的一側(cè)會(huì)出現(xiàn)子菜單。作為子菜單控件的命令在其名稱右 邊有一個(gè)黑色小箭頭。7.1添加子菜單以下代碼示例向“工作表”菜單欄上的“工具”菜單添加名為NewSub”的新子菜單:Sub SubMenu_Create()Dim newSub as ObjectSet newSub = CommandBars(Worksheet menu b
39、ar).Controls(工具(&T)With newSub.Controls.Add(Type:=msoControlPopup, Before:=l).Caption=NewSubEnd WithEnd Sub7.2向子菜單添加命令以下代碼示例向“NewSub”子菜單添加名為“SubItem1”的新命令,然后,當(dāng)您單擊 “SubItem1” 時(shí),它將運(yùn)行 Code_SubItem1 宏:Sub SubMenu_AddItem()Dim newSubItem as ObjectSet newSubItem = CommandBars(Worksheet menu bar) _.Control
40、s(” 工具(&T).Controls(NewSub)With newSubItem.Controls.Add(Type:=msoControlButton, Before:=1).Caption = SubItem1 .Controls(SubItem1).0nAction = Code_SubItem1End WithEnd Sub73禁用子菜單上的命令控件以下代碼示例禁用您在“向子菜單添加命令” 一節(jié)中創(chuàng)建的SubItem命令:Sub SubMenu_DisableItem()CommandBars(Worksheet menu bar).Controls(工具(&T) _.Contro
41、ls(NewSub).Controls(SubItem1).Enabled = False以下代碼示例啟用同一 SubItem命令:Sub SubMenu_DisableItem()CommandBars(Worksheet menu bar).Controls(工具(&T) _ .Controls(NewSub).Controls(SubIteml).Enabled = TrueEnd Sub74刪除子菜單上的命令以下示例刪除您在“向子菜單添加命令”一節(jié)中在“NewSub”子菜單上創(chuàng)建的SubItem1 命令:Sub SubMenu_DeleteItem()CommandBars(Works
42、heet menu bar).Controls(工具(&T) _ .Controls(NewSub).Controls(SubItem1).DeleteEnd Sub75禁用子菜單控件以下代碼示例禁用您在“添加子菜單”一節(jié)中在“工具”菜單上創(chuàng)建的“NewSub”子 菜單:Sub SubMenu_DisableSub()CommandBars(Worksheet menu bar).Controls(工具(&T) _.Controls(NewSub).Enabled = FalseEnd Sub注意:要啟用已禁用的控件,請(qǐng)將Enabled屬性設(shè)置為True。76刪除子菜單控件以下代碼示例刪除您在
43、“添加子菜單”一節(jié)中在“工具”菜單上創(chuàng)建的“NewSub”子 菜單:Sub SubMenu_DeleteSub()CommandBars(Worksheet menu bar).Controls(工具(&T).Controls(NewSub).DeleteEnd Sub八、快捷菜單欄快捷菜單是在用戶右鍵單擊某個(gè)對(duì)象時(shí)出現(xiàn)的浮動(dòng)命令欄??旖莶藛螜诳梢园c命令 欄相同的控件類型,而這些控件的作用也和命令欄上控件的作用相同。在大多數(shù)程序中,您 無法從程序界面創(chuàng)建或修改快捷菜單,因而必須在運(yùn)行時(shí)創(chuàng)建和修改快捷菜單。要獲取有關(guān)Excel 2002和Excel 2003中的快捷菜單的更多信息,請(qǐng)按照下列
44、步驟操作:啟動(dòng) Visual Basic腳本編輯器。在“幫助”菜單上,單擊“ Microsoft Visual Basic幫助”。在“搜索幫助”框中,鍵入快捷方式,然后按Entero單擊“添加和顯示快捷菜單”&1新建快捷菜單欄以下代碼示例創(chuàng)建名為“myShortcutBar”的快捷菜單欄:Sub Shortcut_Create()Dim myShtCtBar as ObjectSet myShtCtBar = CommandBars.Add(Name:=myShortcutBar, _Position:=msoBarPopup)這顯示快捷菜單欄。200, 200指的是屏幕上的位置的像素為X和Y
45、坐標(biāo).myShtCtBar.ShowPopup 200,200注意:由于沒有添加任何控件(菜單項(xiàng)或子菜單),因此快捷菜單欄出現(xiàn)時(shí)是空的。九、快捷菜單當(dāng)您右鍵單擊特定的Excel對(duì)象時(shí)會(huì)出現(xiàn)快捷菜單欄。Excel有很多快捷菜單欄,其 中包含各種菜單。您還可以創(chuàng)建自定義快捷菜單欄和自定義內(nèi)置菜單欄。9.1在快捷菜單欄上創(chuàng)建命令以下代碼示例在“myShortcutBar”快捷菜單欄上創(chuàng)建名為Iteml的新菜單命令。當(dāng)您 單擊“Iteml”時(shí),它將運(yùn)行Code_Item1宏:Sub Shortcut_AddItem()Dim myBar as ObjectSet myBar = CommandBars
46、(myShortcutBar)With myBar.Controls.Add (Type:=msoControlButton, before:=1).Caption = Item1.Controls(Item1).0nAction = Code_Item1End WithmyBar.ShowPopup 200,200End Sub92禁用快捷菜單欄上的命令控件以下代碼示例禁用您在“創(chuàng)建快捷菜單上的命令” 一節(jié)中創(chuàng)建的Item1命令:Sub Shortcut_DisableItem()Set myBar = CommandBars(myShortcutBar) myBar.Controls(It
47、em1).Enabled = False myBar.ShowPopup 200,200注意:要啟用已禁用的項(xiàng)目,請(qǐng)將Enabled屬性設(shè)置為True。93刪除快捷菜單欄上的命令以下代碼示例刪除“myShortcutBar”快捷菜單欄上的名為Iteml的菜單命令:Sub Shortcut_DeleteItem()Set myBar = CommandBars(myShortcutBar)myBar.Controls(Item1).DeletemyBar.ShowPopup 200,200End Sub94刪除快捷菜單欄刪除快捷菜單欄將導(dǎo)致刪除所有菜單項(xiàng)。您無法還原已刪除的自定義菜單欄。要還原它
48、, 必須重新創(chuàng)建該菜單欄及其所有菜單項(xiàng)和子菜單。以下代碼示例刪除您在“在快捷菜單欄上創(chuàng)建命令”一節(jié)中創(chuàng)建的“ myShortCutBar”快捷菜單欄:Sub Shortcut_DeleteShortCutBar()CommandBars(MyShortCutBar).DeleteEnd Sub95還原內(nèi)置快捷菜單欄上的命令以下代碼示例還原工作表“單元格”快捷菜單欄上的默認(rèn)命令:Sub Shortcut_RestoreItem()CommandBars(Cell).ResetEnd Sub十、快捷菜單上的子菜單可以在快捷菜單欄上創(chuàng)建子菜單。當(dāng)您單擊某個(gè)命令控件時(shí),父菜單的一側(cè)會(huì)出現(xiàn)子菜 單。作為子菜單控件的命令在其名稱右邊有一個(gè)黑色小箭頭。101在快捷菜單欄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年02月湖北2024漢口銀行荊門分行招考筆試歷年參考題庫附帶答案詳解
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心服務(wù)合同約定乙方甲方數(shù)據(jù)丟失賠償規(guī)定4篇
- 2025年度潔具環(huán)保技術(shù)引進(jìn)合同范本共10套2篇
- 可調(diào)式散裝電容剪腳機(jī)行業(yè)深度研究報(bào)告
- 供應(yīng)鏈挑戰(zhàn)與解決方案
- 2025版錨具產(chǎn)品安全檢測(cè)服務(wù)合同范本4篇
- 2025年度林業(yè)權(quán)屬爭(zhēng)議調(diào)解與林權(quán)登記服務(wù)合同4篇
- 4三月桃花水(說課稿)2023-2024學(xué)年統(tǒng)編版語文四年級(jí)下冊(cè)
- 西雙版納云南西雙版納州民族宗教事務(wù)局公益性崗位招聘筆試歷年參考題庫附帶答案詳解
- 2023-2024學(xué)年粵教版(2019)高中信息技術(shù)必修一《數(shù)據(jù)與計(jì)算》第五章第二節(jié)《數(shù)據(jù)的采集》說課稿
- 2022年湖北省武漢市中考數(shù)學(xué)試卷含解析
- TLFSA 003-2020 危害分析與關(guān)鍵控制點(diǎn)(HACCP)體系調(diào)味面制品生產(chǎn)企業(yè)要求
- LY/T 2244.3-2014自然保護(hù)區(qū)保護(hù)成效評(píng)估技術(shù)導(dǎo)則第3部分:景觀保護(hù)
- 紀(jì)律教育月批評(píng)與自我批評(píng)五篇
- GB/T 26480-2011閥門的檢驗(yàn)和試驗(yàn)
- GB/T 13342-2007船用往復(fù)式液壓缸通用技術(shù)條件
- 藥店員工教育培訓(xùn)資料
- GB 20371-2016食品安全國(guó)家標(biāo)準(zhǔn)食品加工用植物蛋白
- 【英語手寫體】26英文字母手寫體描紅書寫字帖
- 實(shí)習(xí)護(hù)生壓瘡相關(guān)知識(shí)掌握情況及預(yù)防態(tài)度的調(diào)查問卷
- 《駱駝祥子》第(9、10、11、12)章檢測(cè)題
評(píng)論
0/150
提交評(píng)論