首页
/
每日頭條
/
科技
/
vba實現展開菜單
vba實現展開菜單
更新时间:2025-09-14 10:26:45

VBA中自定義菜單命令組、自定義工具欄主要是利用CommandBars對象的方法進行添加,添加的自定義菜單命令組和自定義工具欄将出現在“加載項”選項卡中。

1 自定義菜單命令組

Sub AddCommandbars()

Dim myBarPopup As CommandBarPopup

Dim ArrOne As Variant

Dim ArrTwo As Variant

Dim ArrThree As Variant

Dim i As Byte

On Error Resume Next

'定義各命令按鈕的标題;

ArrOne = Array("多工作簿查找", "創建工作表目錄", "設置頁眉頁腳")

'定義各命令按鈕的圖标ID;

ArrTwo = Array(281, 283, 285)

ArrThree = Array("FormOpen", "PERSONAL.XLSB!創建工作表目錄", "PERSONAL.XLSB!設置頁眉頁腳")

'CommandBars對象可以使用.controls.Add方法新建“加載項”的“菜單命名”組;

With Application.CommandBars("worksheet menu bar")

'重置内置命令欄,避免重複添加;

.Reset

'聲明彈出式控件

Set myBarPopup = .Controls.Add(msoControlPopup)

With myBarPopup

'設置命令欄控件的标題

.Caption = "controls"

For i = 0 To UBound(ArrOne)

With .Controls.Add(msoControlButton)

.Caption = ArrOne(i)

.FaceId = ArrTwo(i) '控件圖标指定;

.OnAction = ArrThree(i)

End With

Next

End With

End With

Set myBarPopup = Nothing

End Sub

2 自定義工具欄

Sub AddBars()

Dim myBar As CommandBar

Dim ArrOne As Variant

Dim ArrTwo As Variant

Dim ArrThree As Variant

Dim i As Byte

On Error Resume Next

ArrOne = Array("多工作簿查找", "創建工作表目錄", "設置頁眉頁腳")

ArrTwo = Array(9893, 284, 9590)

ArrThree = Array("FormOpen", "PERSONAL.XLSB!創建工作表目錄", "PERSONAL.XLSB!設置頁眉頁腳")

Application.CommandBars("MyToolBar").Delete

'CommandBars對象可以使用Add方法新建“加載項”的“自定義工具欄”;

Set myBar = Application.CommandBars.Add(MyToolBar)

With myBar

.Visible = True

For i = 0 To UBound(ArrOne)

With .Controls.Add(msoControlButton)

.Caption = ArrOne(i)

.FaceId = ArrTwo(i)

.OnAction = ArrThree(i)

.Style = msoButtonIconAdnCaptionBelow

End With

Next

End With

Set myBar = Nothing

End Sub

3 工作薄打開時自動執行定義的過程

Private Sub Workbook_Open()

frmFind.Show

Call AddCommandbars

Call AddBars

End Sub

vba實現展開菜單(自定義菜單命令組)1

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
家具品質巧識别
家具品質巧識别
随着市民生活質量的提高,對家具的選擇也越來越講究,并且,如果家具的品質較低,甚至會對健康造成影響,因此選購時需要多花一些心思,否則真是既浪費了錢财又損耗了健康。【1】有強烈刺激氣味的家具不要買選購時可拉開抽屜、打開櫃門,體驗是否刺激得讓人流淚,如果有這樣的感覺,就表明這套家具的甲醛含量嚴重超标。【2...
2025-09-14
數碼攝像機動力保養
數碼攝像機動力保養
數碼攝像機使用的電池一般是锂電池、鎳镉電池和鎳氫電池三種。使用鎳镉和鎳氫電池要避免電池因記憶效應而縮短使用壽命,所謂記憶效應是指導當電池電量尚未完全使用完前便放在充電器上充電的話,則電池的容量會相應減少,同時電池的使用壽命也會受到影響。所以數碼攝影機使用這類電池時,最好是等電池電量完全耗盡後,或者攝...
2025-09-14
打印機的安裝
打印機的安裝
打印機的安裝一般分為兩個部分,一個是打印機跟電腦的連接,另一個就是在操作系統裡面安裝打印機的驅動程序。如果是安裝USB接口的打印機,安裝時在不關閉電腦主機和打印機的情況下,直接把打印機的USB連線一頭接打印機,另一頭連接到電腦的USB接口就可以了。按照上面的步驟把打印機跟電腦連接好之後,先打開打印機...
2025-09-14
電子琴使用保養
電子琴使用保養
電子琴既是樂器,又是結構複雜的精密電器,一台高級電子琴所有的元件數目比彩色電視機還要多好幾倍。因此,除了準确地掌握它們的機能外,還要注意平時的合理保養,隻有這樣,才能使你的電子琴常葆青春,彈奏出多彩多姿的音響來。1、使用電子琴前,應認真核對電子琴的使用電壓及頻率,是否與說明書上載明的電源電壓及頻率相...
2025-09-14
如何清潔電視機
如何清潔電視機
電視機久不清洗的危害:電視機的内部在使用一段時間後,會積滿厚厚的一層塵埃,這些髒物加速了機器的老化,增加輻射,出現雪花點,嚴重的可造成短路、燒毀元器件,甚至能引起顯像管爆炸。所以電視機的内部要每年清洗一次。【1】清洗電視機内部清洗電視機内部時,先斷電源半小時,再打開電視機的後蓋,用電吹風将積塵吹淨,...
2025-09-14
Copyright 2023-2025 - www.tftnews.com All Rights Reserved