




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、在 Excel中自定義菜單欄和工具欄添加、刪除、禁止等 關(guān)于在 Excel中如何自定義菜單欄和工具欄,甚至快捷菜單,微軟有篇很詳細的文檔:如何在 Excel中自定義菜單和菜單欄。我再把自己的經(jīng)驗補充一下:當我們打開 Excel 的時候, 我們會看到一個菜單欄,有根多工具欄。具體顯示哪些工具欄,我們可以通過的列表最后一項View->Toolbars 來控制。 同時, 這個長長“Customize” 很有用,我們可以通過這個命令來 修改 Offcie 系統(tǒng)本身提供的各種各樣的菜單項和工具欄, 包括改名,刪除,添加分隔線等,我們還可以添加自己的菜 單項和工具欄
2、。對 Excel 菜單和工具欄的操作,用“Customize” 命令和用 VBA 的效果是一樣的, 不過,用 VBA 可以進行更多的自定義操作,我這里總結(jié)的就是用 VBA 操作 Excel 菜單和工具欄的知識和經(jīng)驗。Excel 里的所有菜單欄,工具欄,以及快捷菜單,在Office 系統(tǒng)里都是用 CommandBar ( 命令欄 )這個類來表示的。每個工具欄都是一個 CommandBar 對象,比如我們點View->Toolbars 看到的 “Standard” 、“Formatting” 等都是單獨的 Command
3、Bar 對 象。對于一個 Office 應(yīng)用程序,比如 Excel ,里面的所有菜 單欄都放在一個 CommandBars 集合對象里。 CommandBars類是 CommandBar 類的集合,當我們想訪問某個具體的菜 單欄和工具欄,還有快捷菜單時,我們可以使用如下的表達 方式:Application.CommandBars(index)Application 對象指當前的應(yīng)用程序, 在這里具體的就是Excel 。這里的 CommandBars 是 Application 對象的屬性, 返回一個 CommandBars 對象,CommandBars(index)這種表 示法則返回一個具體的
4、 CommandBar 對象。 index 可以是CommandBar 對象的編號,也可以是 CommandBar 對象的名稱。我編了段代碼把我自己機器上安裝的Excel 的所有CommandBar 對象的名稱的編號打了份列表出來。 如果想通 過 VBA 來控制 Excel 的 命令欄,其中有幾個常用的名稱 我們應(yīng)該要了解的。 Excel 的菜單欄名稱是“Worksheet Menu Bar” ,編號是 1。常用的工具欄有 “Standard” ,編號 3; “Formatting” , 編號 4。鼠標右鍵點工作表區(qū)域出來
5、的快捷菜單名稱是 “Cell” ,編號是 36。用名稱和用編號訪問 CommandBar 對象是等價的。Application.CommandBars(“Worksheet MenuBar”) 和 Application.CommandBars(1) 兩個寫法效 果是一樣的。當我們想添加自己的工具欄時,我們是用CommandBars 的 Add 方法,語法如下:CommandBars.Add(Name, Position, MenuBar, Temporary)Name 參數(shù)是我們給自定義的工具欄起的名稱。已經(jīng)存在的名字不能重復(fù)使用, 否則會報錯
6、 (Run-Time error 5 ,無效Position 參數(shù)不僅決定自定義工具欄的位置,還決定自定義工具欄的類型。這個參數(shù)是 MsoBarPosition 枚舉常量 里的一個。 msoBarLeft, msoBarTop, msoBarRight, msoBarBottom 四個值表示 自定義工具欄出現(xiàn)在 Excel 窗 口的上、下、左、右四個位置,是docked的。msoBarFloating 表示新工具欄 不是 docked 的,浮在窗體上方msoBarPopup 則表示創(chuàng)建的是快捷菜單。 msoBarMenuBar 這個值 Windows 用不到,只用在 Macintosh 操作系
7、統(tǒng)。MenuBar 參數(shù)是個布爾值, 決定創(chuàng)建的新命令欄是菜單欄還是工具欄,因為 Windows 的傳統(tǒng)是一個程序只有一個。 這個參數(shù)默菜單欄。當我們指定為 True 時,我們自定義的菜單欄將替 換 Excel 默認的菜單欄, 最好不要做這件事情 認是False,也就意味著我們新建的命令欄是工具欄或者快 捷菜單。Temporary 參數(shù)也是個布爾值。 True 決定 Excel 程序關(guān)閉再打開后這個新命令欄就沒用了 。這個參數(shù)默認值是False,也就是說我們自定義的命令欄將一直跟隨Excel程序存在。比如 Adobe 公司的 PDF Maker 工具欄。 用上述語 句生成的新工具欄不會直接顯示
8、出來,我們還需要把新工具 欄的Visible屬性設(shè)為 True,在某些 Office版本里,可能還要先把 Enabled屬性設(shè)為 True。在 Office 2003里,只要DimVisible 屬性設(shè)為 True 就可以了。下面是示例代碼:myNewBar As CommandBarSet myNewBar = Application.CommandBars.Add (littlegirl, msoBarFloating)myNewBar.Enabled = TruemyNewBar.Visible = True如果創(chuàng)建的是快捷菜單,情形有點復(fù)雜, Visible 屬性設(shè)為 True 也不會
9、顯示快捷菜單,我 們需要在 Workbook_SheetBeforeRightClick 事件里添加如語句:Application.CommandBars(myShortcutBar).ShowPopup200, 200我前面說過, Excel 默認的快捷菜單叫“Cell” ,我們加了自定義的快捷菜單后會干擾 使用固有的快捷菜單。如果想要刪除一個工具欄,不管是自定義的還是固有的,就要用 CommandBar 對象的 Delete 方法。注意, 加是在集合對象 CommandBars 上操作的,刪除則是在單個 的 CommandBar 對象上執(zhí)行的。Application
10、.CommandBars(myShortcutBar).Delete如果我們修改過了某些工具欄,我們可以用CommandBar 對象的 Reset 方法將它們還原:Application.CommandBars(Cell).Reset面講的是添加 /刪除整個的命令欄, 但更多時候, 我們是在系統(tǒng)菜單欄里加個菜單項,或者在“Standard” 工具欄上加個我們自己開發(fā)的程序 的按鈕。菜單欄、快捷菜單里的菜單項,還有工具欄上的按 鈕,是用 CommandBarControl 類來表示的。跟所有的CommandBar 對象放在一個 CommandBars 集合對象里 樣,某個
11、具體的工具欄 (菜單欄 )上的所有按鈕,即所有的CommandBarControl 對象也是放在一個CommandBarControls集合對象里的。 CommandBar 對象的Controls 屬性可以返回一個 CommandBarControls 集合對 象。我們可以用下面的語句訪問某個具體的菜單項或命令按 鈕:Application.CommandBars(Formatting).Controls(index)-訪問 “Formatting” 工具欄的某個按鈕index 是控件的標題或編號。工具欄上的按鈕形態(tài)是多種多樣的,有命令按鈕,文本框,下拉框等等;菜單項也
12、是一層層嵌套的,有的菜單項只 是彈出更多的菜單項來。 CommandBarControl 類是個父類,面派生出 CommandBarButton ,CommandBarComboBox , 和 CommandBarPopup 三個子類, 對應(yīng)工具欄上不同形態(tài)的 按鈕。但是工具欄上實際出現(xiàn)的按鈕類型遠遠超出這三個子 類,這時我們就用 CommandBarControl 對象來表示就行了。Office 里的 MsoControlType 枚舉類型定義了下面這么多的 常量:2622msoControlActiveX msoControlAutoCompleteCombo msoControlButt
13、onmsoControlButtonDropdownmsoControlButtonPopup12msoControlComboBox msoControlCustom msoControlDropdownmsoControlEditmsoControlExpandingGrid1619msoControlGaugemsoControlGenericDropdownmsoControlGraphicCombo20msoControlGraphicDropdownmsoControlGraphicPopup11msoControlGrid18msoControlLabel15msoControl
14、LabelEx24msoControlOCXDropDownmsoControlPane21msoControlPopup10msoControlSpinner23msoControlSplitButtonMRUPopup14msoControlSplitButtonPopup13msoControlSplitDropdownmsoControlSplitExpandingGrid17msoControlWorkPane25我們可以用 CommandBarControl 對象的 Type 屬性來查看它是上面的哪個類型,如果能夠明確對應(yīng)的子類,可以訪問更多的屬性。比如 “Formatting” 工具欄上的 “Font” 下拉框是CommandBarComboBox 子類,我們可以用它的 List(index)屬性打印出一個字體列表。 向工具欄添加控件的語法如下:向菜
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同糾紛執(zhí)行結(jié)案申請書范文
- 2025年廣東松山職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫往年題考
- 2025年貴州航天職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完美版
- 2025年昌吉職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及完整答案一套
- 2025年貴州省畢節(jié)地區(qū)單招職業(yè)傾向性考試題庫a4版
- 2025年廣西體育高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫1套
- 2025年甘肅省金昌市單招職業(yè)傾向性考試題庫a4版
- 調(diào)料銷售合同
- 燃氣采購合同
- 電商平臺合同會簽流程實施
- 2025年安徽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫學(xué)生專用
- 2025年黑龍江農(nóng)墾職業(yè)學(xué)院單招職業(yè)傾向性測試題庫附答案
- 2025年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 小學(xué)科學(xué)點亮我的小燈泡省公開課一等獎全國示范課微課金獎?wù)n件
- 2023-2024學(xué)年高中信息技術(shù)必修一滬科版(2019)第三單元項目六《 解決溫標轉(zhuǎn)換問題-認識程序和程序設(shè)計語言》教學(xué)設(shè)計
- 2024年中國農(nóng)業(yè)大學(xué)招聘筆試真題
- 浙江新陣地教育聯(lián)盟2025屆高三第二次聯(lián)考化學(xué)試題及答案
- 課件:以《哪吒2》為鏡借哪吒精神燃開學(xué)斗志
- 新生兒胃腸減壓護理
- 七年級數(shù)學(xué)下冊 第8章 單元測試卷(蘇科版 2025年春)
- 2025年全球及中國大型不銹鋼鑄件行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
評論
0/150
提交評論