您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > VBA应用案例教程第一章
第1章VBA基础知识1.1VBA及其特点一、什么是VBA?VBA(VisualBasicforApplications)是MicrosoftOffice系列的内置编程语言,即应用程序中的VB(VisualBasic)。它“寄生于”Office应用程序,是Office套装软件的一个重要组件。它面向对象(OOP),可视化,容易入门,可以实现日常工作的自动化。二、VBA编程优点1.程序只起辅助作用,大部分功能用Office的,因此简化了程序设计。打印、文件处理、格式化和文本编辑等功能不必另行设计。2.通过宏录制,可以部分地实现程序设计的自动化,大大提高软件开发效率。3.发行方便,只要发行含有VBA代码的文档或模板即可,属于绿色软件。Office界面熟悉,便于软件推广应用。4.Office界面对于广大计算机应用人员来说比较熟悉,符合一般操作人员的使用习惯,便于软件推广应用。5.用VBA编程非常简单,即使非计算机专业人员,也可以很快编出自己的软件。三、VBA应用前景BillGates说过:VBA已经不再是单纯的技术了,它正快速地朝着一个标准化的程序开发平台的目标前进,就好像现在的Windows、Internet的角色一样。VBA是即将兴起的、很有前途的编程语言,在Office环境下用VBA开发应用软件,将成为软件开发人员和计算机应用人员首选方式。目前在众多的Office应用人员当中,80%以上的人,仅仅在使用这些软件20%左右的基本功能,真正精彩的部分——VBA编程,没有被开发和使用。四、VBA和VB的主要区别1.VB用于创建标准的应用程序,VBA是使已有的应用程序(Office)自动化。2.VB具有自己的开发环境,VBA寄生于已有的应用程序(Office)。3.VB开发出的应用程序可以是可执行文件(*.EXE),VBA开发的程序必须依赖于它的“父”应用程序(Office)。1.2宏宏(Macro)——子程序一、宏的安全性为了防止“宏病毒”,Office提供了一种安全保护机制,就是设置“宏”的安全性。当我们需要频繁使用带有VBA代码的应用软件时,完全可以把“宏”的安全性设置为“低”,而把宏病毒与其他成千上万种病毒同样对待,用统一的防护方式和防毒工具进行防毒。二、宏的录制与执行1.录制①进入Excel。②在“工具|宏”菜单中选“录制新宏”项。③在“录制新宏”对话框中输入宏名,单击“确定”按钮。④进行需要的操作。⑤单击“停止录制”工具栏按钮,或选择“工具|宏|停止录制”菜单结束宏录制。2.执行“工具|宏|宏”菜单三、宏的编辑1.进入编辑状态①“工具|宏|宏”菜单②选择宏名2.代码说明Sub、EndSub——子程序开始、结束单引号——注释With、EndWith——结构语句圆点——对象之间,或者对象及其属性、事件、方法、事件之间的分隔符。表示隶属关系。3.代码修改①删除注释和无关语句②加入循环结构“&”——字符串连接运算符4.编码方法①录制②改编四、指定宏保存的位置Excel:当前工作簿、新工作簿、个人宏工作簿。◆保存在当前工作簿或新工作簿——只有该工作簿打开时,相应的宏才可以用。◆保存在个人宏工作簿——在当前机器上多个工作簿都能使用。Word:Normal模板、当前文档中。◆保存在当前文档——只有该文档打开时,相应的宏才可以用。◆保存在Normal模板——在当前机器上都能使用。五、为宏指定快捷键1.创建宏时指定快捷键2.录制宏后指定快捷键①“工具|宏|宏”菜单②选择宏③单击“选项”按钮【例1.1】利用Word宏快速录入上角标。六、将宏指定给按钮①在Excel中打开“窗体”工具栏(Word的窗体工具栏没有“按钮”)②在工作表添加按钮③为它指定宏④按钮属性设置——右击七、将宏指定给图片或工具栏按钮1.指定宏到图片①用“插入|图片”菜单工作表中放置图片②右击图片,在快捷菜单中选“指定宏”2.指定给“工具栏按钮”①选择“工具|自定义”菜单。②在“命令”卡中,从“类别”列表框中选择“宏”,从“命令”列表框中将“自定义按钮”拖动到任意一个工具栏上。③右击该按钮,选择“指定宏”。④选择需要的宏名并单击“确定”按钮。⑤单击“关闭”按钮。3.从工具栏中删除自定义按钮①选择“工具|自定义”菜单②用鼠标将按钮从工具栏中拖出4.创建新的工具栏①在“自定义”对话框的“工具栏”卡中,单击“新建”按钮。②输入工具栏名,单击“确定”按钮。范例1-1在Word当前文档中插入多个文件的内容1.要求将从中央电视台网站下载的1至8套节目时间表合并到一个文档中,并进行格式控制。2.实现步骤①语句、函数的选用和程序初稿的形成录制宏——设置3号字、居中,输入“中央1套”,回车。设置5号字,两端对齐”。插入文件(01.txt)。②加工初稿得到需要的程序设置路径循环使用变量③运行程序。定义快捷健、工具栏。范例1-2设计一个名片制作模板1.页面及图文框设置进入Word,在“页面设置”对话框中设置“纸张”宽度和高度分别为19.5厘米和29.5厘米,“页边距”上、下、左、右边距均为0.7厘米。“插入”→“文本框|横排”将“文本框”转换为“图文框”设置图文框固定宽度、高度值分别为8.6厘米和5.4厘米,无边框。2.定义“复制排版”工具按钮并进行宏录制在“录制新宏”对话框中:①指定一个宏名“复制排版”。②指定将宏保存在当前文档。③新建工具栏“名片”,将宏“Project.NewMacros.复制排版”拖动到新建工具栏。改名为“复制排版”。进行宏录制:按Ctrl+X,剪切选定的图文框。然后按十次Ctrl+V快捷键,将图文框粘贴十份。按Alt+↑键,选中一个图文框,设置水平位置为“左侧”,相对于“页边距”。设置垂直位置为“底端”,相对于“页边距”。再按Alt+↑键,选中下一个图文框,用类似的方式设置水平位置为“右侧”,相对于“页边距”。垂直位置为“底端”,相对于“页边距”,停止宏录制。3.对代码进行加工和优化去掉一些用于进行默认设置的不必要语句,添加循环语句,得到“复制排版”子程序。4.使用方法①直接用鼠标双击“名片模板”或进入Word2003后,打开“名片模板”。②在图文框中输入名片的具体内容、设置字体字号、进行排版,也可以插入图片和进行艺术加工,设计出一张名片样板。③选中名片样板图文框。④单击“名片”工具栏上的“复制排版”按钮,Word便自动将设计好的名片样板复制10份并均匀地排列在整张名片纸上。⑤用“文件”菜单中的“打印”命令将整联名片打印输出。1.3VBA语法基础一、注释、连写和断行两种注释方式:(1)使用Rem语句。(2)用单引号(')号。连写:在一行写几个语句,用“:”分隔。断行:一个语句分开写成几行,用空白加下划线(_)。二、变量和常量1.常用的变量数据类型数据类型存储空间数值范围Boolean(布尔)2字节True或FalseInteger(整型)2字节-32768~32767Long(长整型)4字节-2147483648~2147483647Single(单精度)4字节负值范围:-3.402823E38~-1.401298E-45正值范围:1.401298E-45~3.402823E38Double(双精度)8字节负值范围:-1.79769313486232E308~-4.94065645841247E-324正值范围:4.94065645841247E-324~1.79769313486232E308Date(日期时间)8字节日期:100年1月1日~9999年12月31日时间:00:00:00~23:59:59Object(对象)4字节任何引用对象String(字符串)字符串的长度变长字符串:0~20亿个字符定长字符串:1~64K个字符2.声明变量变量可以不经声明直接使用,但占用存储空间较大,效率较低。Dim语句声明局部变量——声明语句放到过程中,变量在过程内有效;声明语句放到模块的声明部分,变量在模块中有效。Public语句用来声明公共变量。公共变量可用于工程中的任何过程。3.声明数组通常用Dim或Public语句来声明。默认的下标下限是0,用OptionBase语句可设置为1。例:DimMyArray(10,10)AsInteger声明了一个11行乘以11列的Integer型二维数组。DimsngArray()AsSingle声明的是一个动态数组。4.常量声明常量用const语句。例:ConstPIAsSingle=3.1415926PublicConstEAsSingle=2.7182三、运算符1.算术运算符符号作用示例+加法3+5=8-减法、一元减11-6=5、-6*3=-18*乘法6*3=18/除法10/4=2.5\整除19\6=3mod取模19mod6=1^指数3^2=92.比较运算符符号名称用法小于〈表达式1〉〈表达式2〉=小于或等于〈表达式1〉=〈表达式2〉大于〈表达式1〉〈表达式2〉=大于或等于〈表达式1〉=〈表达式2〉=等于〈表达式1〉=〈表达式2〉不等于〈表达式1〉〈表达式2〉Is同引用〈对象1〉Is〈对象2〉Like匹配于〈字符串1〉Like〈字符串2〉Is运算符用来比较两个对象引用。如果两者引用的对象相同,结果为True,否则为False。假如MyObject、OtherObject是两个不同的对象,执行语句SetYourObject=MyObjectSetThisObject=MyObjectSetThatObject=OtherObjectMyCheck1=YourObjectIsThisObjectMyCheck2=ThatObjectIsThisObject后,MyCheck1返回True,MyCheck2返回False。Like运算符做字符串的方式比较。如果字符串1与字符串2匹配,则返回True,否则返回False。可以使用通配符、字符串列表或字符区间的任何组合匹配字符串。通配符:“?”代表任意一个字符“*”代表任意多个字符“#”代表任何一个数字(0~9)“[charlist]”代表charlist中任何一个字符“[!charlist]”代表任何一个不在charlist中的字符例如:MyCheck=aBBBaLikea*a'返回True。MyCheck=FLike[A-Z]'返回True。MyCheck=FLike[!A-Z]'返回False。MyCheck=a2aLikea#a'返回True。MyCheck=aM5bLikea[L-P]#[!c-e]'返回True。MyCheck=BAT123khgLikeB?T*'返回True。MyCheck=CAT123khgLikeB?T*'返回False。3.逻辑运算符符号名称语法And与〈表达式1〉And〈表达式2〉Or或〈表达式1〉Or〈表达式2〉Not非Not〈表达式〉Xor异或〈表达式1〉Xor〈表达式2〉Eqv等价(同或)〈表达式1〉Eqv〈表达式2〉Imp蕴涵(条件)〈表达式1〉Imp〈表达式2〉其中:P等价Q,当P和Q的真值相同时,结果为真,否则为假。P蕴含Q,当P为真Q为假时,结果为假,否则为真。4.连接运算符“+”——既可计算数值的和,也可以做字符串的连接。“&”——字符串连接。例如:MyStr=Check&123'返回Check123。MyNumber=34+6'返回40。MyNumber=34+6'返回346(字符串被串接起来)。5.运算符的优先级由高到低次序如下:括号→指数→一元减→乘法和除法→整除→取模→加法和减法→连接→比较→逻辑(Not、And、Or、Xor、Eqv、Imp)。【例1.4】百钱买百鸡问题假设公鸡每只5元,母鸡每只3元,小鸡3只1元。要求用100元钱买100只鸡,问公鸡、母鸡、小鸡可各买多少只?请编一个VBA程序求解。设公鸡、母鸡、小鸡数分别为x、y、z,则可列出方程组:x+y+z=1005x+3y+z/3=100这里有三个未知数、两个方程式,说明有多个解。可以用穷举法求解。范例1-3用WordVBA查汉字区位码1.开发
本文标题:VBA应用案例教程第一章
链接地址:https://www.777doc.com/doc-2853937 .html