移动端网站宽度做多大,会员发布网站建设,中国风html5网站模板免费下载,网时代教育培训机构怎么样目录 0 准备工作1 VBA简介1.1 Excel VBA应用程序的构成1.2 事件驱动1.3 宏1.3.1 创建宏1.3.2 宏安全 2 VBA基础2.1 注释2.2 数据类型2.2.1 基本数据类型2.2.2 枚举类型2.2.3 用户自定义数据类型 2.2 变量2.3 常量2.4 运算符2.5 程序结构2.6 过程2.7 函数 3 Excel应用程序开发流… 目录 0 准备工作1 VBA简介1.1 Excel VBA应用程序的构成1.2 事件驱动1.3 宏1.3.1 创建宏1.3.2 宏安全 2 VBA基础2.1 注释2.2 数据类型2.2.1 基本数据类型2.2.2 枚举类型2.2.3 用户自定义数据类型 2.2 变量2.3 常量2.4 运算符2.5 程序结构2.6 过程2.7 函数 3 Excel应用程序开发流程3.1 需求分析3.2 界面设计3.3 代码设计3.4 帮助系统3.5 系统测试3.6 应用程序发布 4 常用功能 Microsoft Excel是广泛用于数据处理和分析的工具而VBAVisual Basic for Applications是一种基于Microsoft Visual Basic的编程语言可用于在Excel中创建自定义宏和自动化任务控制Excel工作簿、工作表和数据执行各种操作。这篇博客将介绍如何使用VBA进行Excel宏编程以提高工作效率和自动化重复任务。
0 准备工作 Excel中主选项卡默认是没有开发工具选项的需要选择主选项卡文件→选项→自定义功能区打开Excel中的开发工具面板 这样在Excel的主选项卡中就有开发工具选项了 在开发工具选项卡中选择Visual Basic进入VBA编辑器或使用快捷键AltF11 创建新的模块Module并开始编写第一个宏 如在Excel中显示消息框 Sub 显示消息框()MsgBox 欢迎使用VBA宏编程
End Sub编写完成后保存使用F5运行或者在开发工具选项卡中选择“运行”来执行宏 运行结果
1 VBA简介
1.1 Excel VBA应用程序的构成
从开发者角度看Excel VBA应用程序由工作表、用户窗体、模块和类模块等部分构成。
工作表用于保存和显示程序的数据是程序的主体部分。一般先在工作表中制作出特定表格的格式并设置好样式再通过VBA代码获取表格中的数据经过加工处理后将其填写入相应的单元格供用户进行查看、打印输出等操作。用户窗体在Excel VBA应用程序中除了可使用工作表与用户进行交互外还可向程序添加用户窗体用来与用户进行交互操作。使用用户窗体可将用户与工作表中的数据进行隔离防止数据被意外修改并隐藏工作表中的敏感数据使限制权限的用户只看到应该操作的数据。模块在模块中可保存程序的通用过程供其他过程调用。例如录制宏的代码就保存在模块中。类模块在Excel VBA中除了可使用系统提供的对象外还可通过自定义类来创建自定义的对象自定义的类必须保存在“类模块”中。大多数应用程序都不使用“类模块”。
1.2 事件驱动
VBA 是运行在 Microsoft Office 软件之上包括 Excel、Word、PPT、Outlook 等可以用来编写非软件自带的功能的编程语言不同的是每一个软件具有自己独有的对象例如 Excel 有单元格对象Word 有段落对象PPT 有幻灯片对象。
Office 软件提供丰富的功能接口VBA 可以调用它们实现自定义的需求。基本上能用鼠标和键盘能做的事情VBA 都能做它采用了与Windows相似的事件驱动编程方式。
在这种模式下Windows监视窗口活动或事件信号这些事件可以是用户鼠标点击或按键操作也可以是程序控制或其他窗口的操作引发的。通过VBA的事件驱动机制开发人员可以编写事件过程来处理系统产生的事件实现特定的功能如在鼠标点击时打开一个窗口。
与传统的过程化应用程序不同事件驱动的应用程序中代码执行路径不是按照预定顺序进行的。相反代码在响应不同事件时执行不同的片段。这些事件可以由用户、操作系统、其他应用程序的消息触发甚至是应用程序自身的消息触发。
由于事件顺序无法预测代码必须对各种执行状态做出假设。为确保这些假设在执行时有效应用程序的结构需要组织良好。在Excel中使用VBA开发应用程序实质上是编写处理各对象不同事件的代码。
1.3 宏
简单的说宏就是一段可以运行的 VBA 代码片段。Excel宏使用VBA语言进行编写通过VBA编写的宏可控制Excel对Excel的功能进行扩充。
1.3.1 创建宏
Excel提供了两种创建宏的方法一种方法是利用Excel操作环境中的宏录制器录制用户的操作另一种方法是使用Visual Basic编辑器编写自己的宏代码。
利用宏录制器可记录用户在Excel中的操作动作以便自动创建需要的宏这在不太了解宏命令时是非常方便的。
使用Visual Basic编辑器可以打开已录制的宏修改其中的命令也可以在Visual Basic编辑器中直接输入命令创建宏。对于很多无法录制的命令如创建新的窗体等使用Visual Basic编辑器创建宏是唯一的方法。
启用录制宏的两种方式 注宏名不但可以包含字母、数字和下画线还可以使用中文但不能包含空格。但名称开头需为字母或下划线且不能与已有宏重名。 注在宏中定义的快捷键将覆盖任何对等的默认的Excel快捷键。
在创建宏之后可以将宏分配给对象如按钮、图形、控件和快捷键等这样执行宏就像单击按钮或按快捷键一样简单。正是由于这种操作方便的特性使用宏可以方便地扩展Excel的功能。如果不再需要使用宏可以将其删除。
如果将录制的宏名称设置为“Auto_Open”则每次打开包含此宏的工作簿时该宏都会运行。另一种在打开工作簿时自动运行宏的方法是使用Visual Basic编辑器VBE在工作簿的Open事件中编写VBA过程。Open事件是一个内置的工作簿事件它会在每次打开该工作簿时都运行自己的宏代码。如在用户打开工作簿时显示一个“欢迎”对话框可新建一个模块在其中输入以下代码 Sub Auto_Open()MsgBox (欢迎使用Excel!)End Sub保存并关闭该文件若提示不能保存则选择“否”后将文件保存为.xlsm类型即可。 再次打开该文件时将会显示“欢迎使用Excel”的对话框。
1.3.2 宏安全
从Office软件支持宏开始宏病毒也随之出现。许多病毒经过专门设计可以利用VBA宏对系统和数据文件进行恶意操作。因此宏的安全性越来越受到用户的重视。
按照如下步骤设置宏安全性
Excel选项卡选择文件→选项→信任中心或者选项卡选择开发工具→宏安全 设置宏的安全性为禁用所有宏并发出通知 四种类型的宏设置
“禁用所有宏并且不通知”如果不信任宏则使用此设置。文档中的所有宏及有关宏的安全警报都被禁用。如果文档具有信任的未签名的宏则可以将这些文档放在受信任的位置上。受信任的位置中的文档可直接运行不会由信任中心安全系统进行检查。“禁用所有宏并发出通知”这是默认设置。如果想禁用宏但又希望在存在宏时收到安全警报则应使用此选项。这样可以根据具体情况选择何时启用这些宏。“禁用无数字签署的所有宏”此设置与“禁用所有宏并发出通知”选项相同。但下面这种情况除外在宏已由受信任的发行者进行了数字签名时如果信任发行者则可以运行宏如果不信任发行者将发出通知。这样可以选择启用那些签名的宏或信任发行者的宏。所有未签名的宏都被禁用且不发出通知。“启用所有宏不推荐可能会运行有潜在危险的代码”可以暂时使用此设置以便允许运行所有宏。因为此设置容易使计算机受到恶意代码的攻击所以不建议永久使用此设置。
2 VBA基础
2.1 注释
VBA 中的注释以英文单引号 开头后面接注释的内容。从单引号开始的部分不会被执行。
我是一行注释2.2 数据类型
Excel单元格中可以保存处理多种类型的数据包括数值、日期/时间、文本、货币等。VBA中除了提供这些数据类型之外还提供字节、布尔和变体数据等类型。
2.2.1 基本数据类型
常见的VBA基本数据类型如下表
数据类型含义精度范围Byte字节型0 ~ 255Integer整型-32,768 ~ 32,767Long长整型-2,147,483,648 ~ 2,147,483,647String字符串变长字符串0 ~ 20亿(231)个字符定长字符串1~约64K(216)个字符Single单精度浮点型在表示负数时 -3.402823E38 ~ -1.401298E-45在表示正数时 1.401298E-45 ~ 3.402823E38Double双精度浮点型在表示负数时 -1.79769313486231E308 ~ -4.94065645841247E-324在表示正数时 4.94065645841247E-324 ~ 1.79769313486231E308Decimal定点数未放置定点数 /- 79,228,162,514,264,337,593,543,950,335放置定点数 /- 7.9228162514264337593543950335Currency货币型-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807Date日期型时间00:00:00 至 23:59:59日期 100-1-1 至 9999-12-31Boolean逻辑值True 或 FalseVariant变体型不限Object对象型VBA 和 Excel 对象
2.2.2 枚举类型
枚举就是将变量的值逐一列举出来属于该枚举型的变量只能取列举的某一个值。当一个变量只有几种可能的值时可以定义为枚举类型Enum。
枚举型举例
Public Enum WorkDays星期日星期一星期二星期三星期四星期五星期六
End Enum2.2.3 用户自定义数据类型
在VBA中还可以使用Type语句定义自己的数据类型其格式如下
Type 数据类型名数据类型元素名 As 数据类型数据类型元素名 As 数据类型...
End Type注自定义数据类型的定义必须放在模块模块和类模块的声明部分中。在使用记录类型之前必须用Type语句进行定义。一般情况下记录类型在模块中定义其变量可以出现在工程的任何地方。
2.2 变量 待完成
2.3 常量 待完成
2.4 运算符 待完成
2.5 程序结构 待完成
2.6 过程 待完成
2.7 函数 待完成
3 Excel应用程序开发流程
3.1 需求分析
在进行Excel应用程序开发时首先需要准确了解用户的需求需求分析的目的是确定需要完成哪些工作。
需求分析阶段的主要任务如下
功能需求给出应用程序必须完成的所有功能。环境需求用户的计算机硬件环境、软件环境和Excel的版本等。界面需求应用程序的用户界面是直接面对用户的界面设计是用户能否方便、快捷地操作应用程序的关键之一。在需求分析阶段应提出界面的需求。安全保密需求对客户信息的保密要求应在本阶段进行计划。用户技术层次在需求分析阶段了解用户的技术层次可为应用程序的开发提供一些辅助信息。
3.2 界面设计
在Excel中进行界面设计的方式主要有以下3种
在工作表中添加控件 在较简单的应用程序中只需要调用少数几个宏过程可向工作表中添加按钮或其他控件接着与宏过程进行绑定即可 用户窗体 用户界面是应用程序的一个重要组成部分。在Excel的应用程序中用户窗体作为应用程序的用户界面部分将用户的操作和Excel工作表中的数据隔离开。 在VBA编辑器中插入一个用户窗体 使用工具箱视图→工具箱打开中的控件设计窗体 自定义功能区 功能区是从Excel 2007起新增加的组件取代了以往版本的菜单和工具栏可使用XML代码自定义功能区。
3.3 代码设计
将用户界面设计好以后接下来就需要编写界面中各部分的事件代码如用户窗体中的按钮、功能区中的按钮等。
在Excel中设计VBA应用程序时界面设计和代码设计一般是交替进行的即设计好一个界面后就编写相应的代码。有时也可先录制修改好宏代码再和工作表或用户窗体中的按钮进行绑定。
3.4 帮助系统
在Windows应用程序中提供了在线电子文档的帮助系统Excel也可以制作这种帮助系统。 对于小型应用系统一般不提供帮助系统但对于一个大型应用系统提供一个好的帮助系统可让用户更快地理解系统更快地熟悉系统的功能。
3.5 系统测试
在创建了应用程序之后必须对其进行测试测试和调试应用程序所花费的时间可能与开发系统的时间同样多。
对于一个完成开发的应用程序在设计测试数据时应尽可能多地考虑到各种不同的情况不但要使用正常的合乎逻辑的数据去测试应用程序的功能性还应使用一些可能导致应用程序出错的数据去测试应用程序的健壮性。
在设计测试数据的同时应编写出测试数据的结果并与应用程序进行实测时得到的数据进行对比如果结果相同则通过测试否则应检查并修改应用程序。
3.6 应用程序发布
通过测试后的应用程序就可以发布给最终用户使用了。在发布时需要注意以下3个问题:
Excel版本如果是在Excel特定版本环境下开发的应用程序并使用了该特定版本的一些新功能就要求用户使用该Excel的特定版本。动态链接库如果应用程序中使用了ActiveX控件则需要考虑是否要将包含该ActiveX控件的DLL文件或OCX文件包含在应用程序中予以发布。辅助文件在一个大型的应用程序中有时可能还会使用到其他辅助文件如图片文件、数据库文件和帮助文件等需要将这些文件包括在发布文件中并且最好将其发布到其他盘符中进行测试以检查在VBA代码中是否使用了绝对路径来引用相关的文件。
4 常用功能 待完成