Excel-VBA-编程教程(完整版)_第1页
Excel-VBA-编程教程(完整版)_第2页
Excel-VBA-编程教程(完整版)_第3页
Excel-VBA-编程教程(完整版)_第4页
Excel-VBA-编程教程(完整版)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Excel-VBA-编程教程(完整版)ExcelVBA目录一、VBA语言基础(1)第一节标识符(1)第二节运算符(1)第三节数据类型(1)第四节变量与常量(1)第五节数组(2)第六节注释和赋值语句(2)第七节书写规范(2)第八节判断语句(2)第九节循环语句(3)第十节其他类语句和错误语句处理(4)第十一节过程和函数(4)一.Sub过程(4)二.Function函数(5)三.Property属性过程和Event事件过程(5)第十二节内部函数(5)一.测试函数(5)二.数学函数(5)三.字符串函数(5)四.转换函数(6)五.时间函数(6)第十三节文件操作(6)文件(6)删除(6)打开(6)读入(7)写入(7)关闭(7)其他文件函数(7)二、VISUALBASIC程序设计网络教学(1)第一课VBA是什么(1)1.1VBA是什么(1)1.2EXCEL环境中基于应用程序自动化的优点(1)1.3录制简单的宏(1)1.4执行宏(2)1.5查看录制的代码(2)1.6编辑录制的代码(3)1.7录制宏的局限性(3)1.8小结(3)第二课处理录制的宏(3)2.1为宏指定快捷键(3)2.2决定宏保存的位置(4)2.3个人宏工作簿(4)2.3.1保存宏到个人宏工作簿(4)2.3.2使用并编辑个人宏工作簿中的宏(4)2.4将宏指定给按钮(4)2.5将宏指定给图片或其他对象(5)2.6小结(5)3.3向工作表添加控件(6)3.4设置控件的特性(6)3.5给控件命名(6)3.6使用用户窗体(6)3.7疑难解答(7)第四课理解变量和变量的作用(7)4.1代码存在的位置:模块(7)4.2对模块的概览(7)4.2.1创建过程(8)4.2.2运行宏(9)4.3保存对模块所做的改变(9)4.4变量(9)4.4.1变量的数据类型(9)4.4.2用Dim语句创建变量(声明变量)(10)4.4.3变量命名的惯例(10)4.4.4使用数组(10)4.4.5变量赋值(11)第五课利用VBA设置工作表使用权限(11)1.使用WITH语句。..........................................................................................2.使用对象变量。.........................................................................................方法3:减少对象的激活和选择....................................................................方法4:关闭屏幕更新....................................................................................第六课提高EXCEL中VBA的效率(12)方法1:尽量使用VBA原有的属性、方法和WORKSHEET函数(12)方法2:尽量减少使用对象引用,尤其在循环中(12)1.使用With语句。(12)2.使用对象变量。(12)3.在循环中要尽量减少对象的访问。(13)方法3:减少对象的激活和选择(13)方法4:关闭屏幕更新(13)第七课如何在EXCEL里使用定时器(13)三、学习微软EXCEL2002VBA编程和XML,ASP技术(15)第一章电子表格自动化简介和了解宏命令(15)1了解宏(15)2宏命令的普通应用(15)3写宏之前的计划(16)4录制宏(17)5运行宏(18)6修改宏代码(19)7添加注释(21)8分析宏代码(22)9清除宏代码(23)10测试修改好的宏(24)11两个层面运行宏的方法(24)12完善你的宏代码(25)13重新命名宏(27)17通过工具栏按钮运行宏(30)18通过工作表里面的按钮运行宏(31)19保存宏(32)20打印宏(32)21保存宏在个人宏工作簿(32)22打开含有宏的工作簿(34)23VB编辑窗口(35)24了解工程浏览窗口(35)25了解属性窗口(36)26了解代码窗口(36)27VB编辑器里的其它窗口(38)28接下来(39)第二章VBA第一步(39)1了解指令,模块和过程(39)2VBA工程命名(39)3模块重命名(40)4从其它工程调用过程(41)5了解对象,属性和方法(42)6学习对象,属性和方法(43)7句法和文法(45)8打断很长的VBA语句(47)9了解VBA错误(47)10查找帮助(49)11语法和编程快捷助手(50)12属性/方法列表(51)13常数列表(51)14参数信息(52)15快速信息(52)16自动完成关键字(52)17缩进/凸出(53)18设置注释块/解除注释块(53)19使用对象浏览器(53)20使用VBA对象库(58)21用对象浏览器来定位过程(59)22使用立即窗口(59)23获取立即窗口里的信息(61)24学习对象(62)25电子表格单元格操作(62)26使用RANGE属性(62)27使用CELLS属性(62)28使用OFFSET属性(63)29选择单元格的其它方法(64)30选择行和列(64)31获取工作表信息(65)32往工作表输入数据(65)33返回工作表中的信息(65)34单元格格式(66)35移动,复制和删除单元格(66)36操作工作簿和工作表(67)第三章了解变量,数据类型和常量(69)1保存VBA语句的结果(69)2变量是什么(69)3数据类型(69)4如何产生变量(70)5如何声明变量(71)6明确变量的数据类型(72)7变量赋值(73)8强制声明变量(75)9了解变量范围(76)10过程级别(当地)变量(76)11模块级别变量(77)12工程级别变量(77)13变量的存活期(78)14了解和使用静态变量(78)15声明和使用对象变量(79)16使用明确的对象变量(80)17查找变量定义(80)18在VB过程里面使用常量(80)19内置常量(81)20接下来(82)第四章VBA过程:子程序和函数(82)1.关于函数过程(82)2.创建函数过程(82)3.执行函数过程(84)4.从工作表里运行函数过程(84)5.从另外一个VBA过程里运行函数过程(85)6.传递参数(86)7.明确参数类型(87)8.按地址和按值传递参数(88)9.使用可选的参数(88)10.定位内置函数(89)11.使用MSGBOX函数(90)12.MSGBOX函数的运行值(94)13.使用INPUTBOX函数(95)14.数据类型转变(96)15.使用INPUTBOX方法(97)16.使用主过程和子过程(100)17.接下来(102)第五章基于VBA做决定(102)1.关系和逻辑运算符(102)2.IF...THEN语句.(103)3.基于多于一个条件的决定(105)4.THEIF...THEN...ELSE语句.(106)5.IF...THEN...ELSEIF语句.(108)6.嵌套的IF...THEN语句.(110)7.SELECTCASE语句(110)8.和CASE子句一起使用IS(112)9.确定CASE子句里数值的范围(113)第六章在VBA中重复操作(114)1.DOLOOPS:DO...WHILE和DO...UNTIL(114)2.观察过程执行(117)3.WHILE...WEND循环..(118)4.FOR...NEXT循环(119)5.FOREACH...NEXT循环(120)7.提前跳出循环(121)8.循环嵌套(122)9.接下来(122)第七章利用VBA数组管理数据清单和表格(122)1.了解数组(123)2.声明数组(124)3.数组的上界和下界(124)4.在VBA过程里使用数组(124)5.数组和循环语句(125)6.使用二维数组(127)7.静态和动态数组(128)8.数组函数(129)9.ARRAY函数(130)10.ISARRAY函数(130)11.ERASE函数(131)12.LBOUND函数和UBOUND函数(131)13.数组中的错误(132)14.数组作为参数(134)15.接下来(134)第八章利用VBA操纵文件和文件夹(134)1.获取当前文件夹的名称(CURDIR函数)(135)2.更改文件或文件夹名称(NAME函数)(135)3.检查文件或文件夹是否存在(DIR函数)(136)4.获得文件修改的日期和时间(FILEDATETIME函数)(137)5.获得文件大小(FILELEN函数)(138)6.返回和设置文件属性(GETATTR函数和SETATTR函数)(138)7.更改缺省文件夹或驱动器(CHDIR语句和CHDRIVE语句)(139)8.创建和删除文件夹(MKDIR语句和RMDIR语句)(140)9.复制文件(FILECOPY语句)(140)10.删除文件(KILL语句)(142)11.从文件读取和写入数据(INPUT/OUTPUT)(142)12.文件访问类型(142)13.使用顺序文件(143)14.读取储存于顺序文件里的数据(143)15.逐行读取文件(143)16.从顺序文件中读取字符(144)17.读取分隔文本文件(145)18.往顺序文件里写数据(146)19.使用WRITE#和PRINT#语句(147)20.操作随机文件(148)21.创建用户定义的数据类型(148)22.操作二进制文件(152)23.操作文件和文件夹的时髦方法(153)25.FILESYSTEMOBJEC的方法和属性(156)26.对象FILE的属性(160)27.文件夹对象属性(161)28.驱动器对象属性(161)29.使用WSH创建文本文件(162)30.使用WSH进行其它操作(164)31.运行其它应用程序(164)32.创建快捷方式(165)33.接下来(166)第九章利用VBA控制其它应用程序(167)1.启动应用程序(167)2.在应用程序之间切换(169)3.控制其它应用程序(170)4.控制应用程序的其它方法(171)5.了解自动控制(172)6.了解链接和嵌入(172)7.使用VBA进行链接和嵌入(173)/doc/2916462422.html,和自动控制(174)9.了解绑定(174)10.后期绑定(174)11.早期绑定(174)12.建立到对象库的引用(175)13.创建自动控制对象(176)14.使用CREATEOBJECT函数(176)15.使用自动控制创建一个新的WORD文档(177)16.使用GETOBJECT函数(177)17.打开存在的WORD文档(178)18.使用关键字NEW(179)19.使用自动控制访问MICROSOFTOUTLOOK(180)20.接下来(181)第十章对话框和自定义窗体(181)1.文件打开和另存为对话框(183)2.GETOPENFILENAME和GETSAVEASFILENAME方法(187)3.创建窗体(188)4.创建用户窗体的工具(190)5.标签(191)6.文字框(191)7.框架(191)8.选项按钮(191)9.复选框(192)10.切换按钮(192)11.列表框(192)12.复合框(192)13.滚动条(192)14.旋转按钮(192)15.图像(192)16.多页控件(192)17.TABSTRIP控件(193)18.REFEDIT控件(193)19.在窗体上放置控件(193)20.应用程序示例1:信息调查(193)24.准备工作表以储存窗体数据(198)25.显示自定义窗体(199)26.设置TAB顺序(199)27.了解窗体和控件事件(200)28.编写VBA过程对窗体和控件事件反应(201)29.编写过程来初始化窗体(201)30.编写过程填充列表框控件(203)31.编写过程控制选项按钮(203)32.编写过程同步文字框和旋转按钮(204)33.编写过程关闭用户窗体(204)34.转移窗体数据到工作表(205)35.使用INFOSURVEY应用程序(206)36.应用程序示例2:学生和考试(206)37.使用多页和TABSTRIP控件(206)38.给窗体STUDENTSANDEXAMS自定义窗体编写VBA过程(208)39.使用自定义窗体STUDENTSANDEXAMS(212)40.接下来(214)第十一章自定义集合和类模块(214)1.使用集合(214)2.声明自定义集合(215)3.给自定义集合添加对象(215)4.从自定义集合移出对象(216)5.创建自定义对象(217)6.创建类(218)7.变量声明(218)8.定义类的属性(218)9.创建PROPERTYGET过程(219)10.创建PROPERTYLET过程(219)11.创建类方法(220)12.创建类的示例(220)13.类模块里的事件过程(221)14.创建用户界面(221)15.观察VBA过程的执行(229)16.接下来(231)第十二章使用VBA创建自定义菜单和工具栏(231)1.工具栏(232)2.创建自定义工具栏(233)3.删除自定义工具栏(235)4.使用COMMANDBAR的属性(235)5.使用COMMANDBAR控件(235)6.理解和使用控件属性(237)7.控件方法(239)8.使用菜单(240)9.菜单编程(241)10.创建子菜单(243)11.修改内置快捷菜单(244)12.创建快捷菜单(247)13.接下来(249)3.使用断点(250)4.在中断模式下使用立即窗口(253)5.使用STOP语句(254)6.添加监视表达式(254)7.清除监视表达式(256)8.使用快速监视(256)9.使用本地窗口和调用堆栈对话框(257)10.逐句运行VBA过程(258)11.逐句运行过程(259)12.逐过程执行过程(259)13.设置下一条语句(260)14.显示下一条语句(260)15.终止和重新设置VBA过程(260)16.了解和使用条件编译(260)17.操纵书签(262)18.捕捉错误(262)17.接下来(266)第十四章微软EXCEL2002中的事件编程(266)1.事件过程介绍(266)2.激活和失活事件(267)3.事件次序(268)4.工作表事件(268)5.工作簿事件(272)6.图表事件(282)7.内嵌图表事件(284)8.可为应用软件对象识别的事件(285)9.查询表时间(288)10.接下来(289)第十五章在EXCEL里使用ACCESS(289)1.对象库(289)2.建立对对象库的引用(292)3.链接到ACCESS(293)4.使用AUTOMATION链接到ACCESS数据库(293)5.使用DAO链接到ACCESS数据库(295)6.使用ADO链接到ACCESS数据库(295)7.从EXCEL执行ACCESS任务(296)8.创建新ACCESS数据库(296)9.打开ACCESS窗体(298)10.打开ACCESS报表(300)11.运行ACCESS查询(301)12.运行选择查询(302)13.运行参数查询(303)14.调用ACCESS函数(304)15.获取ACCESS数据到EXCEL工作表(304)16.使用GETROWS方法获取数据(304)17.使用COPYFROMRECORDSET方法获取数据(305)18.使用TRANSFERSPREADSHEET方法获取数据(306)19.使用OPENDATABASE方法(307)20.从ACCESS数据创建文本文件(309)22.在EXCEL里使用ACCESS数据(311)23.用ACCESS数据创建内嵌图表(311)24.传输EXCEL电子表格到ACCESS数据库(313)25.将EXCEL电子表格链接到ACCESS数据库(313)26.将EXCEL电子表格导入ACCESS数据库(314)27.放置EXCEL数据到ACCESS表中(314)28.接下来(316)一、VBA语言基础第一节标识符一.定义标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。二.命名规则1)字母打头,由字母、数字和下划线组成,如A987b_23Abc2)字符长度小于40,(Excel2002以上中文版等,可以用汉字且长度可达254个字符)3)不能与VB保留字重名,如public,private,dim,goto,next,with,integer,single等第二节运算符定义:运算符是代表VB某种运算功能的符号。1)赋值运算符=2)数学运算符&、+(字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数)3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)4)关系运算符=(相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于)、Like、Is5)位运算符Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑等)、Imp(隐含)第三节数据类型VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用Type自定义数据类型。数据类型类型标识符字节字符串型String$字符长度(0-65400)字节型Byte无1布尔型Boolean无2整数型Integer%2长整数型Long&4单精度型Single!4双精度型Double#8日期型Date无8公元100/1/1-99/12/31货币型Currency@8小数点型Decimal无14变体型Variant无以上任意类型,可变对象型Object无4第四节变量与常量1)VBA允许使用未定义的变量,默认是变体变量。2)在模块通用说明部份,加入OptionExplicit语句可以强迫用户进行变量定义。3)变量定义语句及变量作用域Dim变量as类型'定义为局部变量,如DimxyzasintegerPrivate变量as类型'定义为私有变量,如PrivatexyzasbytePublic变量as类型'定义为公有变量,如PublicxyzassingleGlobal变量as类型'定义为全局变量,如GloblalxyzasdateStatic变量as类型'定义为静态变量,如Staticxyzasdouble一般变量作用域的原则是,那部份定义就在那部份起作用,模块中定义则在该模块那作用。4)常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能改变值,作用域也如同变量作用域。如下定义:ConstPi=3.1415926assingle第五节数组数组是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标进行。在内存中表现为一个连续的内存块,必须用Global或Dim语句来定义。定义规则如下:Dim数组名([lowerto]upper[,[lowerto]upper,….])astype;Lower缺省值为0。二维数组是按行列排列,如XYZ(行,列)。除了以上固定数组外,VBA还有一种功能强大的动态数组,定义时无大小维数声明;在程序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。如下例:Dimarray1()asdouble:Redimarray1(5):array1(3)=250:Redimpreservearray1(5,10)第六节注释和赋值语句1)注释语句是用来说明程序中某些语句的功能和作用;VBA中有两种方法标识为注释语句。9单引号’;如:’定义全局变量;可以位于别的语句之尾,也可单独一行9Rem;如:Rem定义全局变量;只能单独一行2)赋值语句是进行对变量或对象属性赋值的语句,采用赋值号=,如X=123:Form1.caption=”我的窗口”对对象的赋值采用:setmyobject=object或myobject:=object第七节书写规范1)VBA不区分标识符的字母大小写,一律认为是小写字母;2)一行可以书写多条语句,各语句之间以冒号:分开;3)一条语句可以多行书写,以空格加下划线_来标识下行为续行;4)标识符最好能简洁明了,不造成歧义。第八节判断语句1)If…Then…Else语句IfconditionThen[statements][Elseelsestatements]如1:IfA>BAndC如2:Ifx>250Thenx=x-100或者,可以使用块形式的语法:IfconditionThen[statements][ElseIfcondition-nThen[elseifstatements]...[Else[elsestatements]]EndIf如1:IfNumber<10ThenDigits=1ElseIfNumber<100ThenDigits=2ElseDigits=3EndIf2)SelectCase…Case…EndCase语句如1:SelectCasePidCase“A101”Price=200Case“A102”Price=300……CaseElsePrice=900EndCase3)Choose函数choose(index,choce-1,choice-2,…,choice-n),可以用来选择自变量串列中的一个值,并将其返回,index必要参数,数值表达式或字段,它的运算结果是一个数值,且界于1和可选择的项目数之间。choice必要参数,Variant表达式,包含可选择项目的其中之一。如:GetChoice=Choose(Ind,"Speedy","United","Federal")4)Switch函数Switch(expr-1,value-1[,expr-2,value-2_[,expr-n,value-n]])switch函数和Choose函数类似,但它是以两个一组的方式返回所要的值,在串列中,最先为TRUE的值会被返回。expr必要参数,要加以计算的Variant表达式。value必要参数。如果相关的表达式为True,则返回此部分的数值或表达式,没有一个表达式为True,Switch会返回一个Null值。第九节循环语句1)ForNext语句以指定次数来重复执行一组语句Forcounter=startToend[Stepstep]'step缺省值为1[statements][ExitFor][statements]Next[counter]如1:ForWords=10To1Step-1'建立10次循环ForChars=0To9'建立10次循环MyString=MyString&Chars'将数字添加到字符串中NextChars'IncrementcounterMyString=MyString&""'添加一个空格NextWords2)ForEach…Next语句主要功能是对一个数组或集合对象进行,让所有元素重复执行一次语句ForEachelementIngroupStatements[Exitfor]StatementsNext[element]如1:ForEachrang2Inrange1Witherior.colorindex=6.pattern=xlSolidEndwithNext这上面一例中用到了With…EndWith语句,目的是省去对象多次调用,加快速度;语法为:Withobject[statements]EndWith3)Do…loop语句在条件为true时,重复执行区块命令Do{while|until}condition'while为当型循环,until为直到型循环,顾名思义,不多说啦StatementsExitdoStatementsLoop或者使用下面语法Do'先do再判断,即不论如何先干一次再说StatementsExitdoStatementsLoop{while|until}condition第十节其他类语句和错误语句处理一.其他循环语句结构化程序使用以上判断和循环语句已经足够,建议不要轻易使用下面的语句,虽然VBA还支持。1)Gotoline该语句为跳转到line语句行2)Onexpressiongosubdestinatioinlist或者onexpressiongotodestinationlist语句为根据exprssion表达式值来跳转到所要的行号或行标记3)Gosubline…line…Return语句,Return返回到Gosubline行,如下例:Subgosubtry()DimnumNum=inputbox(“输入一个数字,此值将会被判断循环”)Ifnum>0thenGosubRoutine1:Debug.printnum:ExitsubRoutine1:Num=num/5ReturnEndsub4)while…wend语句,只要条件为TRUE,循环就执行,这是以前VB老语法保留下来的,如下例:whilecondition‘whileI<50[statements]‘I=I+1wend‘Wend二.错误语句处理执行阶段有时会有错误的情况发生,利用OnError语句来处理错误,启动一个错误的处理程序。语法如下:OnErrorGotoLine‘当错误发生时,会立刻转移到line行去OnErrorResumeNext‘当错误发生时,会立刻转移到发生错误的下一行去OnErroGoto0‘当错误发生时,会立刻停止过程中任何错误处理过程第十一节过程和函数过程是构成程序的一个模块,往往用来完成一个相对独立的功能。过程可以使程序更清晰、更具结构性。VBA具有四种过程:Sub过程、Function函数、Property属性过程和Event事件过程。一.Sub过程Sub过程的参数有两种传递方式:按值传递(ByVal)和按地址传递(ByRef)。如下例:Subpassword(ByValxasinteger,ByRefyasinteger)Ify=100theny=x+yelsey=x-yx=x+100EndsubSubcall_password()Dimx1asintegerDimy1asintegerx1=12y1=100Callpassword(x1,y1)‘调用过程方式:1.Call过程名(参数1,参数2…);2.过程名参数1,参数2…debug.printx1,y1‘结果是12、112,y1按地址传递改变了值,而x1按值传递,未改变原值Endsub二.Function函数函数实际是实现一种映射,它通过一定的映射规则,完成运算并返回结果。参数传递也两种:按值传递(ByVal)和按地址传递(ByRef)。如下例:Functionpassword(ByValxasinteger,byrefyasinteger)asbooleanIfy=100theny=x+yelsey=x-yx=x+100ify=150thenpassword=trueelsepassword=falseEndFunctionSubcall_password()Dimx1asintegerDimy1asintegerx1=12y1=100ifpasswordthen‘调用函数:1.作为一个表达式放在=右端;2.作为参数使用debug.printx1endifEndsub三.Property属性过程和Event事件过程这是VB在对象功能上添加的两个过程,与对象特征密切相关,也是VBA比较重要组成,技术比较复杂,可以参考相关书籍。第十二节内部函数在VBA程序语言中有许多内置函数,可以帮助程序代码设计和减少代码的编写工作。一.测试函数IsNumeric(x)‘是否为数字,返回Boolean结果,TrueorFalseIsDate(x)‘是否是日期,返回Boolean结果,TrueorFalseIsEmpty(x)‘是否为Empty,返回Boolean结果,TrueorFalseIsArray(x)‘指出变量是否为一个数组。IsError(expression)‘指出表达式是否为一个错误值IsNull(expression)‘指出表达式是否不包含任何有效数据(Null)。IsObject(identifier)‘指出标识符是否表示对象变量二.数学函数Sin(X)、Cos(X)、Tan(X)、Atan(x)三角函数,单位为弧度Log(x)返回x的自然对数Exp(x)返回exAbs(x)返回绝对值Int(number)、Fix(number)都返回参数的整数部分,区别:Int将-8.4转换成-9,而Fix将-8.4转换成-8Sgn(number)返回一个Variant(Integer),指出参数的正负号Sqr(number)返回一个Double,指定参数的平方根VarType(varname)返回一个Integer,指出变量的子类型Rnd(x)返回0-1之间的单精度数据,x为随机种子三.字符串函数Trim(string)去掉string左右两端空白Ltrim(string)去掉string左端空白Rtrim(string)去掉string右端空白Len(string)计算string长度Left(string,x)取string左段x个字符组成的字符串Right(string,x)取string右段x个字符组成的字符串Mid(string,start,x)取string从start位开始的x个字符组成的字符串Ucase(string)转换为大写Lcase(string)转换为小写Space(x)返回x个空白的字符串Asc(string)返回一个integer,代表字符串中首字母的字符代码Chr(charcode)返回string,其中包含有与指定的字符代码相关的字符四.转换函数CBool(expression)转换为Boolean型CByte(expression)转换为Byte型CCur(expression)转换为Currency型CDate(expression)转换为Date型CDbl(expression)转换为Double型CDec(expression)转换为Decemal型CInt(expression)转换为Integer型CLng(expression)转换为Long型CSng(expression)转换为Single型CStr(expression)转换为String型CVar(expression)转换为Variant型Val(string)转换为数据型Str(number)转换为String五.时间函数Now返回一个Variant(Date),根据计算机系统设置的日期和时间来指定日期和时间。Date返回包含系统日期的Variant(Date)。Time返回一个指明当前系统时间的Variant(Date)。Timer返回一个Single,代表从午夜开始到现在经过的秒数。TimeSerial(hour,minute,second)返回一个Variant(Date),包含具有具体时、分、秒的时间。DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])返回Variant(Long)的值,表示两个指定日期间的时间间隔数目Second(time)返回一个Variant(Integer),其值为0到59之间的整数,表示一分钟之中的某个秒Minute(time)返回一个Variant(Integer),其值为0到59之间的整数,表示一小时中的某分钟Hour(time)返回一个Variant(Integer),其值为0到23之间的整数,表示一天之中的某一钟点Day(date)返回一个Variant(Integer),其值为1到31之间的整数,表示一个月中的某一日Month(date)返回一个Variant(Integer),其值为1到12之间的整数,表示一年中的某月Year(date)返回Variant(Integer),包含表示年份的整数。Weekday(date,[firstdayofweek])返回一个Variant(Integer),包含一个整数,代表某个日期是星期几第十三节文件操作文件Dir[(pathname[,attributes])];pathname可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到pathname,则会返回零长度字符串("");attributes可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配pathname但不包含属性的文件。删除Killpathname从磁盘中删除文件,pathname参数是用来指定一个文件名RmDirpathname从磁盘中删除目录,pathname参数是用来指定一个文件夹打开OpenpathnameFormode[Accessaccess][lock]As[#]filenumber[Len=reclength]能够对文件输入/输出(I/O)。pathname必要。字符串表达式,指定文件名,该文件名可能还包括目录、文件夹及驱动器。mode必要。关键字,指定文件方式,有Append、Binary、Input、Output、或Random方式。如果未指定方式,则以Random访问方式打开文件。access可选。关键字,说明打开的文件可以进行的操作,有Read、Write、或ReadWrite操作。lock可选。关键字,说明限定于其它进程打开的文件的操作,有Shared、LockRead、LockWrite、和LockReadWrite操作。filenumber必要。一个有效的文件号,范围在1到511之间。使用FreeFile函数可得到下一个可用的文件号。reclength可选。小于或等于32,767(字节)的一个数。对于用随机访问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。说明对文件做任何I/O操作之前都必须先打开文件。Open语句分配一个缓冲区供文件进行I/O之用,并决定缓冲区所使用的访问方式。如果pathname指定的文件不存在,那么,在用Append、Binary、Output、或Random方式打开文件时,可以建立这一文件。如果文件已由其它进程打开,而且不允许指定的访问类型,则Open操作失败,而且会有错误发生。如果mode是Binary方式,则Len子句会被忽略掉。重要在Binary、Input和Random方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在Append和Output方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。读入Input#filenumber,varlist从已打开的顺序文件中读出数据并将数据指定给变量Get[#]filenumber,[recnumber],varname将一个已打开的磁盘文件读入一个变量之中。写入Write#filenumber,[outputlist]将数据写入顺序文件Print#filenumber,[outputlist]将格式化显示的数据写入顺序文件中Put[#]filenumber,[recnumber],varname将一个变量的数据写入磁盘文件中。关闭Close[filenumberlist]关闭Open语句所打开的输入/输出(I/O)文件注意如果今后想用Input#语句读出文件的数据,就要用Write#语句而不用Print#语句将数据写入文件。因为在使用Write#时,将数据域分界就可确保每个数据域的完整性,因此可用Input#再将数据读出来。使用Write#还能确保任何地区的数据都被正确读出。Write与Print#语句不同,当要将数据写入文件时,Write#语句会在项目和用来标记字符串的引号之间插入逗号。Write#语句在将outputlist中的最后一个字符写入文件后会插入一个新行字符,即回车换行符,(Chr(13)+Chr(10))。其他文件函数LOF(filenumber)返回一个Long,表示用Open语句打开的文件的大小,该大小以字节为单位。EOF(filenumber)返回一个Integer,它包含Boolean值True,表明已经到达为Random或顺序Input打开的文件的结尾。Loc(filenumber)返回一个Long,在已打开的文件中指定当前读/写位置Seek(filenumber)返回一个Long,在Open语句打开的文件中指定当前的读/写位二、VisualBASIC程序设计网络教学第一课VBA是什么1.1VBA是什么直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORDBASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------VisualBasicForApplication(VBA),可以认为VBA是非常流行的应用程序开发语言VASUALBASIC的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面:1.VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化2.VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.3.要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL.尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORDACCESSOUTLOOKFOXPROPROWERPOINT中用VBA创建解决方案的大部分知识.*VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.*VBA可以称作EXCEL的"遥控器".VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序.1.2EXCEL环境中基于应用程序自动化的优点也许你想知道VBA可以干什么?使用VBA可以实现的功能包括:1.使重复的任务自动化.2.自定义EXCEL工具栏,菜单和界面.3.简化模板的使用.4.自定义EXCEL,使其成为开发平台.5.创建报表.6.对数据进行复杂的操作和分析.用EXCEL作为开发平台有如下原因:1.EXCEL本身功能强大,包括打印,文件处理,格式化和文本编辑.2.EXCEL内置大量函数.3.EXCEL界面熟悉.4.可连接到多种数据库.用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保存,打印,复制等.而用EXCEL作为开发平台,则由于EXCEL已经具备这些基本功能,你要做的只是使用它.1.3录制简单的宏在介绍学习VBA之前,应该花几分钟录制一个宏。新术语:"宏",指一系列EXCEL能够执行的VBA语句。以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤:1)打开新工作簿,确认其他工作簿已经关闭。2)选择A1单元格。调出"常用"工具栏。3)选择"工具"-"宏"-"录制新宏"。4)输入"改变颜色"作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示"录制",特别是"停止录制"工具栏也显示出来。替换默认宏名主要是便于分别这些宏。★宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。5)选择"格式"的"单元格",选择"图案"选项中的红色,单击"确定"。6)单击"停止录制"工具栏按钮,结束宏录制过程。※如果"停止录制"工具栏开始并未出现,请选择"工具"-"宏"-"停止录制"。录制完一个宏后就可以执行它了。1.4执行宏当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行"遥控"。但VBA的"遥控"不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的"遥控",你都会奇怪自己在没有这些"遥控"的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论