首页
/
每日頭條
/
科技
/
vba實現展開菜單
vba實現展開菜單
更新时间:2026-04-12 00:52:52

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
推荐阅读
第五屆進博會有什麼先進産品
第五屆進博會有什麼先進産品
來源:天山網天山網訊(記者馬蓓陽光攝影報道)最小的心髒起搏器、不用紮手的血糖儀、家用私人定制護膚化妝品、會讀心的乒乓球教練機器人……為期六天的第三屆中國國際進口博覽會(以下簡稱“進博會”)今天閉幕,一起來看看在本屆進博會上亮相的高科技産品吧...
2026-04-12
戴爾電腦專修店地址
戴爾電腦專修店地址
杭州拱墅區杭州大廈、中央商城武林廣場B1-125室,(地鐵1号線武林廣場站);是杭州核心區大型城市綜合體——杭州大廈的重要組成部分,當然杭州戴爾電腦旗艦店及售後維修服務中心也在這裡,位于杭州大廈中央商場B1層125室,是杭州首家2.0新概念...
2026-04-12
能夠打印對聯的機器
能夠打印對聯的機器
能夠打印對聯的機器?它來了,它來了,它帶着新年氣氛過來了~,我來為大家科普一下關于能夠打印對聯的機器?以下内容希望對你有幫助!能夠打印對聯的機器它來了,它來了,它帶着新年氣氛過來了~怎麼樣,是不是非常炫酷非常奈斯?其實這個非常簡單,隻要你的...
2026-04-12
聯想筆記本顯示器不亮連接vga正常
聯想筆記本顯示器不亮連接vga正常
聯想筆記本電腦沒有打開風扇已經轉動顯示沒有反應可能是由于風扇工作異常,也可能是由于電源開關設置為禁用模式(或電源開關關閉)導緻電源無法啟動。筆記本電腦沒有打開風扇已經轉動顯示器沒有反應的原因是什麼?筆記本電腦使用一段時間後,電源開關設置為禁...
2026-04-12
怎樣用手機拍出好看證件照
怎樣用手機拍出好看證件照
一休今兒個就給大家來點幹貨:必備技能之證件照。首先咱得做好準備工作:一·設備及材料手機(任意型号)紙或布(根據自己所需要的底色準備,也可以隻用白色,方便換背景)二·環境光線好的地方(室外順光處,室内強燈光處)PS:室内最好有兩盞燈60W以上...
2026-04-12
Copyright 2023-2026 - www.tftnews.com All Rights Reserved