VBA 在 CommandBar 上添加自定义按钮
许多用户都问到,能不能在 CommandBar 添加自定义按钮,去实现特殊的功能?
下面这篇文章将展示如何在 CommandBar 添加自定义按钮,及如何使用自定义按钮调用前台和后台事件:
主要步骤:
1.添加 Spread ButtonCommand 事件,提供 自定义 button 调用。
2. 重载 Render 添加自定义按钮:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | protected override void Render(HtmlTextWriter writer) { Table table = FpSpread1.FindControl( "cmdTable" ) as Table; //自定义按钮调用前台事件 DropDownList changepage = new DropDownList(); changepage.ID = "pageindex" ; changepage.Items.Add( "1" ); changepage.Items.Add( "2" ); changepage.Items.Add( "3" ); changepage.Items.Add( "4" ); changepage.Items.Add( "5" ); changepage.Attributes.Add( "onchange" , "change()" ); TableCell cell2 = new TableCell(); cell2.Controls.Add(changepage); table.Rows[0].Cells.Add(cell2); //自定义按钮调用后台事件 TableCell cell1 = new TableCell(); Button btn1 = new Button(); btn1.Text = "自定义按钮" ; btn1.Text = "Button1" ; btn1.Attributes.Add( "onclick" , ClientScript.GetPostBackEventReference(FpSpread1, "BtnCommand,-1,-1" ) + "; return false;" ); cell1.Controls.Add(btn1); table.Rows[0].Cells.Add(cell1); base .Render(writer); } 复制代码 3.DropDownList 前台函数代码: <script type= "text/javascript" > function change() { var pageindex = document.getElementById( "FpSpread1_pageindex" ).value-1; FpSpread1.CallBack( "Page," +pageindex); return false ; } </script> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | Public Sub Workbook_Open() <br>Dim NewMenu As CommandBarPopup <br>Dim MenuItem As CommandBarControl <br>On Error Resume Next '如果菜单已经存在,则删除该菜单 <br>Application.CommandBars(1).Controls( "价格标签" ).Delete <br>Set NewMenu = Application.CommandBars( 1).Controls.Add(类型:=msoControlPopup, 之前:=11) '添加菜单标题并指定热键 NewMenu.Caption = "价格标签" '添加第一个菜单项 Set MenuItem = NewMenu.Controls.Add _ (Type:=msoControlButton) With MenuItem .Caption = "生成表" .OnAction = "生成表" End With Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton) With MenuItem .Caption = "生成标签" .OnAction = "价格标签生成" End With Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton) With MenuItem .Caption = "打印布局" .OnAction = "打印" End With End Sub ##模块代码 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!