目录

回调(CallBack)

IRibbonControl对象


如图所示,该表为员工档案。为了避免该表的数据被修改,该表已经被保护。如何在功能区添加一个按钮,当单击该按钮后可以将该表的数据导出为普通的工作簿。

在工作簿中添加一个按钮的回调过程saveCopy,该过程用以将工作表中的数据导出另存为一个单独的工作簿。然后自定义功能区,在自定义选项卡中添加一个按钮,将其onAction属性设置为该回调过程saveCopy。

步骤1  自定义功能区,其customUI代码如下:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"><ribbon startFromScratch="true"><tabs><tab id="myTab" label="工具栏"><group id="myGroup" label="工作簿相关"><button id="btSaveCopy" label="导出工作簿" imageMso="FileSave" size="large" onAction="saveCopy"/></group></tab></tabs></ribbon>
</customUI>

步骤2 打开工作簿,按组合键【Alt+F11】打开VBE。
步骤3 选择菜单“插入”→“模块”,并输入以下代码:

Option ExplicitSub saveCopy(control As IRibbonControl)Dim fName As String     '文件名Dim Wbk As Workbook     '工作薄对象'显示保存文件对话框,获取文件名fName = Application.GetSaveAsFilename(filefilter:="Excel,*.xlsx")'当取消选择时,退出程序If fName = "False" Then Exit Sub'判断文件名扩展名是否为".xlsx",若不是,则将其改成“.xlsx”If LCase(Right(fName, 5)) <> ".xlsx" ThenfName = fName & ".xlsx"End If'添加工作薄Set Wbk = Workbooks.Add'将数据复制到新的工作薄Sheet1.Cells.Copy Wbk.Worksheets(1).Range("A1")Wbk.SaveAs fNameWbk.Close
End Sub

步骤4  返回工作表界面,在功能区的“开发工具”选项卡中单击“导出工作簿”按钮,然后选择文件路径及文件名,即可得到当前工作簿的副本。

回调(CallBack)

回调又称回调函数或回调过程,是一个比较复杂的概念。此处所说的回调,其实更类似于事件。比如,将按钮的onAction属性设置为回调执行,那么当单击该按钮时,会触发该过程的执行。
      对于不同的回调,其形式是不同的。与事件一样,只有当声明的过程符合其规定的形式时,该过程才能在事件发生的时候被调用。
      按钮的回调过程形式为:

Sub Callbackname(control As IRibbonControl)
EndSub

其中,Callbackname为过程的名称,也即设置给onAction属性的值。该名称可以设置为任何合法的过程名称。
参数control为调用该过程的控件对象。

IRibbonControl对象

IRibbonControl对象是VBA中表示功能区控件对象的一个类型。在VBA中,仅能访问该控件的id、tag、context属性。
        与工作表中或者窗体中的控件不同的是,功能区中定义的多个控件可以使用同一个回调过程作为其单击后触发的过程。此时在回调过程中可以通过访问control对象的id、tag、context属性来获取触发该过程运行的控件,从而进行不同的处理。

Excel 2010 VBA 入门 140 在功能区添加按钮并运行VBA程序相关推荐

  1. SharePoint 2010 安装错误:请重新启动计算机,然后运行安装程序以继续

    一.环境:Windows Server 2008 R2 with sp1,SharePoint 2010 二.问题描述: 正常的安装SharePoint 2010 ,安装完必备组件,并提示所有必备组件 ...

  2. Excel VBA UserForm用户窗体中添加按钮,并进行选择

    1.插入一个用户窗体 需要在用户窗体中加入按钮的,则需要打开"工具箱" 插入控件按钮 2.代码编写 (1).首先在sheet中添加一个按钮,来显示用户窗体,查看效果 Private ...

  3. java 按钮添加音乐_Java运行窗体/程序添加自定义背景音乐

    本帖最后由 Jesp 于 2020-7-5 00:50 编辑 前言: 最近实训结束,虽然我的坦克大战项目没有做完美,但是我对付出多少回报多少,这一点上我还是比较满意的,因为很多时间有在玩电脑游戏,只有 ...

  4. 试试Excel 2010的工作表能够放多少行?

    Excel中工作表的行可以与数据库的记录相对应.因此,工作表中行数的多少与处理数据库记录的能力有关. 笔者使用Excel中带的VBA作为工具,编写如下程序: Private Sub CommandBu ...

  5. java 调excel 的宏_Microsoft Excel宏来运行Java程序

    我学会了在Jxl和POI API的帮助下使用Java程序读写Excel文件. 是否可以在宏的帮助下运行Java程序? 检查一下 - [stackoverflow.com/questions/52973 ...

  6. Excel 2010 VBA 入门 138 添加选项卡和内置控件

    目录 题 码 功能区简介 使用Excel选项自定义功能区 题 在功能区中添加一个选项卡,并在选项卡中添加内置控件 码 使用Excel选项中的[自定义功能区]添加选项卡和内置控件. 步骤1  选择&qu ...

  7. Excel 2010 VBA 入门 034 创建图片批注

    目录 批注(Comment)对象 批注的添加与删除 FiIIFormat对象 OnError语句 示例: 批注(Comment)对象 Comment对象是单元格的一个属性,表示单元格的批注.Comme ...

  8. Excel 2010 VBA 入门 144 制作通用工具

    目录 题 步骤 1.添加功能区选项卡和按钮 2.设计程序界面并编写程序功能代码 3.编写安装程序 4.测试和运行 通用工具的主程序设计 使用加载宏制作通用工具 加载宏工具的安装 题 制作一个通用的工作 ...

  9. Excel 2010 VBA 入门 137 动态创建窗体

    目录 题 码 VBComponents集合 VBComponent对象 题 如图所示,该表为某公司工资表与员工档案表,当查看工资表时,希望能够在双击员工姓名时,在员工档案表中查询该员工的基本信息,并临 ...

最新文章

  1. Hadoop Yarn内存使用优化配置
  2. 关于盘符里某些文件夹删除不了的解决方案研究
  3. Visual Studio Code环境变量配置
  4. python进程池:multiprocessing.pool
  5. java 变量初始化_浅谈Java变量的初始化顺序详解
  6. 基于RTMP实现Linux|麒麟操作系统下屏幕|系统声音采集推送
  7. 【数据结构和算法笔记】AOE网和关键路径
  8. 开始刷题--《C语言经典100题》
  9. UiPath Excel 数据筛选修改
  10. jdt 解析java语句,利用JDT 回分析java 源代码
  11. Paypal学习 3 -- 接受信用卡直接付款 (DoDirectPayment)
  12. 有什么好的学编程的网站或者是软件?『编程入门』?
  13. Java-枚举类enum及常用方法
  14. 【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)
  15. 工厂如何实现无线wifi短信验证登录?工厂上网实名认证系统
  16. [清华集训2015 Day1]玛里苟斯-[线性基]
  17. 《转载》Mybatis 拦截器介绍
  18. oracle ebs web agent,《ORACLE EBS Web ADI深入浅出》.pdf
  19. 疫情查询 国内疫情显示“无网络”解决方法
  20. 魔力宝贝道具服务器无响应,魔力宝贝:关于道具服务器第一天的感想

热门文章

  1. Sun Java System Message Queue - Packet acknowledge failed after failover
  2. BUCT-2021年ACM竞赛班训练(一)2021.3.25-问题 A: 大佬的高级IDLE-题解
  3. ORACLE ORA错误码大全 (备忘)
  4. 量子计算机需要的物理知识,量子计算机和物理学上的量子力学关系大吗?
  5. 数字音乐各种高保真音乐格式
  6. 针对第2章习题6的SPJ数据库,为项目名称为“一汽”的工程项目建立一个供应情况的视图V_SPJ,视图中应包括供应商代码SNO,零件代码PNO,供应数量QTY,并针对该视图完成下列查询 (1)找出一汽
  7. 自制紧张刺激的滑雪游戏,来一把?
  8. java网课|final权限修饰符
  9. Python按单元格读取复杂电子表格(Excel)数据实践
  10. Github 之 本地上传代码到 Github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤)