考点三:VBA程序设计基础 1、 面向对象程序设计的基本概念 8 r- v$ |+ R8 G' o2 x' M" a* F
〈1〉 对象:是将数据和代码封装起来的实体; % \+ M( ^! v6 g! Z8 c+ b7 I9 {
〈2〉 属性和方法:描述了对象的行为和性质,引用方式为:对象.属性或对象.方法; & U4 K- J5 {3 l
〈3〉 事件和事件过程: ) ?5 l+ n+ f0 s' I
事件是access对象控件可以识别的“动作”,如单击命令按钮,向文本框中输入内容等; . ~1 n! f3 k3 o( a( u! T' H* h
事件过程就是为某个事件编写VBA代码过程,完成指定动作; * p5 e& ^3 O* r7 c
两者的区别就:事件是系统确定好的,事件过程可以由用户来编写。 8 j! J8 Y. t2 `
2、 VBA编程基础——常量、变量、运算符和表达式 ' F6 n$ N) S, W5 U9 W) [
〈1〉 VBA的数据类型: $ [: O' r( a' P
Integer 整型、String 字符型、Single 单精度型、Double 双精度型、Boolean 布尔型、Date 日期型,Variant 变体型 ) J* F& g7 a& Z& y% Y& {
注解1:当转化其他的数值类型为Boolean类型时,0会转成False,而其他的值则转成了True;而将Boolean类型转成其他类型时,False成为0,而True成为-1. ( |+ c- L6 ^+ n) y% f3 d7 B, {
注解2:变量没有显示声明(用如Dim、Private、Static等语句),那么默认为变体类型。是一种特殊的数据类型,除了定义长String数据以及用户定义类型外,可以包含任何种类的数据。
2 |% x9 v5 R6 {8 C 〈2〉 变量
9 s" ?" G+ I# W R --声明变量的两种方法:隐性声明(默认为variant类型)和显性声明; 5 g/ a( V: n- U' i: G+ a: q) ]
注解:如果是 Dim x,y,z As Integer ,那么x,y为Variant类型。
( O8 E1 T, |! t7 h7 C# ], Z( t/ N/ ^ --变量的三个范围级别
* s; l _( j. P5 t 过程级别
1 O. s* u) m2 C4 u3 H5 R 只有在声明此变量的过程中才可以使用的变量成为局部变量。可以使用Dim 或Static关键字来定义。 6 M- j8 ?. n8 n) `
注解:Dim定义的变量只有在其所在的过程运行时有值,static定义的变量在整个程序运行期间都有值。
2 X8 R+ {3 P/ e/ v" A6 K 私有模块级别
2 Y- j- W9 A9 V 私有模块定义的变量只对所属模块过程可用,可以使用Dim和Private定义。
; J2 ^$ @4 F. \4 H" `$ `4 Q, C 公共模块级别 6 }) ~' V& x* E. h1 K. K5 C5 O4 J
一般用public来定义,所有的模块都可以用。
$ V; W3 q1 \; F 〈3〉 数组
0 N* D# X) S3 J) ~& q' p- G --可以同时定义多个变量,有一维数组,二维数组…;
- D% R& ^+ x5 N& m) e) q --默认情况下数组下标为0,除非用Option Base 1来把默认值更改为1;
z) s( _: b* l* T: M --如定义一个一维数组 Dim s(3) as integer ,它等同于: Dim s(0 to 3) as integer ,两者都定义数组中有4个元素,分别是:s(0),s(1),s(2),s(3); " a$ l. U1 x% a* s! I
$ T5 D6 h$ K- Z* B
--对于一个二维元素,根据同样的道理,如m(1,2),那么就这个元素中就包含2*3=6个元素。 |