




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用用 VBAVBA 自定义自定义 WORDWORD 菜单和工具栏 实现多风格界面菜单和工具栏 实现多风格界面 使用一个包含 VBA 代码的 Word 模板文件 通过 加载 方式直接运行 运 行后将在 Word XP 的主界面中新增菜单和工具栏 并提供了几套适合不同工作 环境的界面布局 单击相应菜单即可实现不同风格界面布局的切换 标准风格 标准风格 显示主菜单栏以及常用 格式两个工具栏 并将文本编辑区设置为 蓝底白字 简单风格 简单风格 仅显示主菜单栏和程序新建的工具栏 并将文本编辑区恢复为 白 底黑字 如图 1 所示 单击工具栏上的按钮 则会显示对话框 绘图和制表风格 绘图和制表风格 显示主菜单栏和常用 格式 绘图 图片 符号栏以及表格 和边框工具栏等 并将文本编辑区恢复为 白底黑字 多风格界面的实现方法 多风格界面的实现方法 一 创建工具栏和菜单的相关知识 一 创建工具栏和菜单的相关知识 1 CommandBars1 CommandBars 集合集合 Office 软件中 每个软件所有的工具栏均可用该集合来代表 该集合可通过名 称或索引号来指定菜单栏或工具栏 如 CommandBars Formatting 即通 过名称 Formatting 指定了 格式工具栏 Add 方法用于新建工具栏 并 返回 CommandBar 对象 2 CommandBar2 CommandBar 对象对象 该对象代表工具栏 新建工具栏的控件均以该对象为载体 是 VBA 工具栏开发 的核心对象 其常用方法和属性如下 Position 属性 用于设置工具栏的位置 可通过 VBA 常量将工具栏的位置设置 为置顶 居左 居右 置下或浮动 Visible 属性 用于设置工具栏是否可见 Enabled 属性 用于设置工具栏是否可用 Reset 方法 将内置工具栏的设置重置为默认设置 删除其中的自定义控件 在恢复软件原有工具栏或菜单时非常有用 3 CommandBarPopup3 CommandBarPopup 对象对象 该对象代表工具栏中的一个弹出式控件 其实 Office 软件的菜单也可理解 为一个弹出式的控件 而菜单栏可以视为 另类 的工具栏 因此 通过该对 象即可添加菜单栏 方法和添加工具栏类似 4 CommandBarButton4 CommandBarButton 对象对象 该对象代表工具栏的按钮控件 是常用的工具栏二次开发控件 其常用方 法和属性如下 OnAction 属性 用于设置 VBA 代码过程名 该代码过程不可使用参数 该过 程在单击按钮后运行 Style 属性 用于设置工具栏按钮的显示方式 可通过 VBA 常量进行设置 FaceId 属性 用于设置工具栏按钮的图标编号 即设置工具栏按钮的外观 自 定义图标的工具栏按钮 其 FaceId 属性值需设置为 0 BeginGroup 属性 用于设置控件是否分组显示 5 CommandBarComboBox5 CommandBarComboBox 对象对象 该对象代表工具栏中的组合框 下拉框或文本框控件 也是常用的工具栏 二次开发控件 二 二 WORDWORD 自动宏自动宏 为使模板中的 VBA 代码可在某些特定操作中 如加载或打开时 自动执行 必须通过 VBA 提供的自动宏来实现 自动宏是一些特殊的宏 这些宏可在执行特定操作时运行 类似 DOS 时代 在系统启动时执行的 AutoExec bat 文件 以 Word XP 为例 其提供的自 动宏如下所述 AutoExec 宏 启动 Word 或加载全局模板触发 AutoNew 宏 生成新文档时触发 AutoOpen 宏 打开已有文档时触发 AutoClose 宏 关闭文档时触发 AutoExit 宏 退出 Word XP 或卸载全局模板时触发 正如其他宏 自动宏可以保存于 Normal 模板 其他模板或文档之中 唯 一的例外是 AutoExec 宏 它只有保存在 Startup 文件夹的 Normal 模板或 共用模板中才能自动运行 在命名冲突的情况下 多个自动宏名相同 Word 运行上下文中最近的自 动宏 例如 如果同时在文档和附加模板中建立了 AutoClose 宏 只有文档中 的宏能够运行 如在 Normal 模板中建立了 AutoNew 宏 只有当文档或其附加 模板中没有名为 AutoNew 的宏时 该自动宏才能运行 如果用户按下 Shift 键可以终止宏的运行 例如 新建一个文档 该文档 基于包含 AutoNew 宏的模板 按下 Shift 键可以终止 AutoNew 宏的运行 方法是按下 Shift 键的同时单击 文件 菜单下 新建 对话框中的 确定 按钮 直到显示新文档 在运行可能触发自动宏的宏时 可用下列指令终止自 动宏的运行 WordBasic DisableAutoMacros 注意 宏病毒就是利用自动宏的特点来自动进行传播的 并不需要人工运行 三 新建工具栏和自定义菜单的代码 新建工具栏和自定义菜单的代码 录制 宏 之后 在 VBA 的工程资源管理器中将自动添加一个名称为 NewMacros 的模块 双击该模块的图标 即可显示代码编辑窗口 1 1 定义一些全局变量定义一些全局变量 Dim Obj Toolbar As CommandBar 代表工具栏的变量 Dim Obj Menu As CommandBarPopup 代表菜单的变量 Dim Obj Toolbar button As CommandBarButton 代表菜单项和按钮的变量 2 2 编制生成工具栏和菜单的子程序编制生成工具栏和菜单的子程序 Sub addbutton 创建工具栏和菜单并设置属性的子程序 deletebutton 调用删除工具栏和菜单的子程序 Set Obj Toolbar Application CommandBars Add My Custom Bar 新建工具栏 My Custom Bar 代表工具栏的名称 Set Obj Menu Obj Toolbar Controls Add Type msoControlPopup ID 1 在工具栏上新建下拉菜单 ID 1 代表该工具栏的功能由用户自定 义 下同 With Obj Menu 设置下拉菜单的属性 Caption 风格切换 设置标题 BeginGroup True 设置分组 End With Set Obj Toolbar button Obj Menu Controls Add Type msoControlButton ID 1 新建菜单项 下 同 With Obj Toolbar button 设置菜单项的属性 下同 Caption 标准风格 BeginGroup True OnAction Standard Style 设置单击菜单项执行的子程序名称 End With Set Obj Toolbar button Obj Menu Controls Add Type msoControlButton ID 1 新建其他的菜单 项 并设置属性 With Obj Toolbar button Caption 简单风格 BeginGroup True OnAction Simple Style End With Set Obj Toolbar button Obj Menu Controls Add Type msoControlButton ID 1 With Obj Toolbar button Caption 绘图和制表风格 BeginGroup True OnAction Draw Table Style End With Set Obj Toolbar button Obj Toolbar Controls Add Type msoControlButton ID 1 新建工具栏按 钮 With Obj Toolbar button 设置按钮的属性 Caption 关于 Style msoButtonIconAndCaption FaceId 984 OnAction Show Msg End With With Obj Toolbar 设置工具栏的属性 Visible True 工具栏可视 Enabled True 工具栏可用 Position msoBarTop 工具栏置顶 End With Set Obj Menu Application CommandBars Menu Bar Controls Add Type msoControlPopup ID 1 在 Word XP 的主菜单 中新建菜单 Menu Bar 代表 Word XP 主菜单的名称 With Obj Menu 设置新建菜单的属性 Caption 风格切换 End With Set Obj Toolbar button Obj Menu Controls Add Type msoControlButton ID 1 在新建菜单中添 加菜单项 下同 With Obj Toolbar button 设置新建菜单项的属性 下同 Caption 标准风格 BeginGroup True OnAction Standard Style End With Set Obj Toolbar button Obj Menu Controls Add Type msoControlButton ID 1 新建其他的菜单 项 并设置属性 With Obj Toolbar button Caption 简单风格 BeginGroup True OnAction Simple Style End With Set Obj Toolbar button Obj Menu Controls Add Type msoControlButton ID 1 With Obj Toolbar button Caption 绘图和制表风格 BeginGroup True OnAction Draw Table Style End With End Sub 3 3 编制删除工具栏和菜单的子程序编制删除工具栏和菜单的子程序 Sub deletebutton 删除工具栏和菜单的子程序 Dim tempbar As CommandBar 定义临时工具栏变量 On Error Resume Next 该语句用于忽略错误 Application CommandBars Menu Bar Reset 重新设置 Word XP 的主菜 单 即删除新建的菜单 For Each tempbar In Application CommandBars 通过 For Each Next 语句遍历 Word XP 所有的工具栏 If tempbar Name My Custom Bar Then 如名称和新建的工具栏 相同 tempbar Visible False 设置为不可视 tempbar Delete 删除该工具栏 End If Next End Sub 4 4 编写控件和菜单项对应的事件代码 编写控件和菜单项对应的事件代码 简单风格 子程序 添加 Private 关键字用于将该子程序设置为局部型 下同 Private Sub Simple Style resetall 调用重新设置所有工具栏的子程序 下同 进行 简单风格 相对应的操作 在前述内容中已进行了解读 下同 CommandBars Standard Visible False CommandBars Formatting Visible False CommandBars Drawing Visible False Options BlueScreen False End Sub 标准风格 子程序 Private Sub Standard Style resetall CommandBars Standard Visible True CommandBars Formatting Visible True Options BlueScreen True End Sub 绘图和制表风格 子程序 Private Sub Draw Table Style resetall CommandBars Standard Visible True CommandBars Formatting Visible True CommandBars Drawing Visible True CommandBars Tables and Borders Visible True CommandBars 符号栏 Visible True CommandBars Picture Visible True Options BlueScreen False End Sub 5 5 编写辅助的子程序编写辅助的子程序 上达三段代码中 均需调用一个重新设置所有工具栏的子程序 该子程序 的功能为设置所有相关工具栏为不可视 然后按需要显示相关的工具栏 代码 如下所示 重新设置所有工具栏的子程序 Private Sub resetall 以下代码很容易理解 可通过修改前面录制的 宏 代码来编写 CommandBars Standard Visible False CommandBa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南平邵武市医疗单位公开招聘紧缺急需专业工作人员15人考试参考题库及答案解析
- 2025吉林大学白求恩第一医院病人服务中心陪检员招聘考试参考题库及答案解析
- 2025年甘肃省兰州市市直机关公务员选调78人考试参考题库及答案解析
- 2025年河北邢台广宗县高校毕业生临时公益性岗位招聘33人考试参考题库及答案解析
- 物业节能降耗技术应用方案
- 2025河北邯郸市市直机关遴选公务员110人考试参考题库及答案解析
- 2025中煤三建建安公司中层管理人员招聘延期(安徽)考试参考题库及答案解析
- 2025福建泉州空港油料有限公司招聘工作人员1人考试参考题库及答案解析
- 西宁城市职业技术学院合同制教职工招聘考试参考题库及答案解析
- 企业员工培训方案及流程
- 幼儿园海军知识
- 塑料厂应急预案
- 第八章工程建设执业资格法规
- 计算机科学与技术专业毕业论文
- 全国行政区域身份证代码表(EXCEL版)
- JJF 1685-2018紫外荧光测硫仪校准规范
- UL实用标准电子线常用规格表
- 大学预算绩效管理办法(试行)模板
- 西方音乐史全套完整教学课件
- 血液净化治疗临床应用
- 年产12000吨水合肼(100%)项目环评报告书
评论
0/150
提交评论