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

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
推荐阅读
excel單列數據查找
excel單列數據查找
Hello大家好,我是幫幫。今天跟大家分享一下Excel數據查找技巧,CTRLF原來可以這樣用,快捷簡單。有個好消息!為了方便大家更快的掌握技巧,尋找捷徑。請大家點擊文章末尾的“了解更多”,在裡面找到并關注我,裡面有海量各類模闆素材免費下載...
2025-07-02
去除短水印方法
去除短水印方法
關注職場辦公,分享實用幹貨,洞察科技資訊,這裡是「職場科技範」。我們平時閑下來都喜歡刷視頻,遇到自己喜歡的視頻,下載下來發現有水印,也别影響視覺效果。今天就給大家分享3種方法,一鍵去除短視頻水印,超清畫面完美還原。01相冊裁剪推薦指數:★★...
2025-07-02
背診有什麼好處
背診有什麼好處
經絡系統是中醫獨特的基礎理論,經絡和髒腑共同成為中醫髒象理論的兩大支柱,經絡是人體氣血的主要通道。經絡體系包括十二正經、奇經八脈、十二經别、十五絡脈以及十二經筋、十二皮部。其中十二經絡主要循行于人體内髒及肢體頭部,而奇經八脈則主要循行于人體...
2025-07-02
電腦突然黑屏開不了機了怎麼回事
電腦突然黑屏開不了機了怎麼回事
電腦如果出現不開機的情況時,先不要着急花錢去修。其實呢,電腦開不了機大多都是一些小問題,隻需要簡單地處理一下,就能修好80%的電腦。1、我們拔掉電源,多次按電腦主機開關鍵,看看是不是因為這個零件卡住,才導緻電腦無法開機2、斷開電源,打開主機...
2025-07-02
手機積分多少可以兌換話費
手機積分多少可以兌換話費
數據更新于2018.11.23.更新人:新秀10号當手機用戶每使用一元話費,就會得到相應的積分。而獲得的積分可以在兌換商城換取禮品,也可将積分兌換成手機話費。本人建議一般用戶兌換為手機話費比較劃得來。那麼,怎麼将積分兌換為手機話費呢?首先,...
2025-07-02
Copyright 2023-2025 - www.tftnews.com All Rights Reserved