access vba函数 语法 Abs(number) 必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返回 Null,如果 number 是未初始化的变量,则返回 0。 说明 一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。 Array 函数 语法 Array(arglist) 所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。 说明 用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。 Dim A As Variant 使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库(例如 VBA.Array )名称限定。如果是由类型库名称限定,则 Array 不受 Option Base 的影响。 注意 没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。 Asc 函数 语法 Asc(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。 说明 在非 DBCS 系统下,返回值范围为 0 – 255 。在 DBCS 系统下,则为 -32768 – 32767。 注意 AscB 函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字符代码,而非字符的字符代码。AscW 函数返回 Unicode 字符代码,若平台不支持 Unicode,则与 Asc 函数功能相同。 Atn 函数 语法 Atn(number) 必要的 number 参数是一个 Double或任何有效的数值表达式。 说明 Atn 函数的参数值 (number) 为直角三角形两边的比值并返回以弧度为单位的角。这个比值是角的对边长度除以角的邻边长度之商。 值的范围在 -pi/2 和 pi/2 弧度之间。 为了将角度转换为弧度,请将角度乘以 pi/180。为了将弧度转换为角度,请将弧度乘以 180/pi。 注意 Atn 是 Tan 的反三角函数,Tan 的参数值为角度,返回直角三角形的两条边的比值。不要将 Atn 和余切函数混淆,余切函数值是正切函数值的倒数,cotangent = (1/tangent)。 CallByName 函数 语法 CallByName(object, procname, calltype,[args()]) CallByName 函数的语法有以下命名参数: 部分 描述 CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。 在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第二行得到 MousePointer 属性的值,第三行调用 Move 方法来移动文本框: CallByName Text1, "MousePointer", vbLet, vbCrosshair 语法 CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec(expression) CInt(expression) CLng(expression) CSng(expression) CStr(expression) CVar(expression) CStr(expression) 必要的 expression 参数可以是任何字符串表达式或数值表达式。 返回类型 函数 返回类型 expression 参数范围 说明 通常,在编码时可以使用数据类型转换函数,来体现某些操作的结果应该表示为特定的数据类型,而不是缺省的数据类型。例如,当单精度、双精度或整数运算发生的情况下,使用 CCur 来强制执行货币运算。 应该使用数据类型转换函数来代替 Val,以使国际版的数据转换可以从一种数据类型转换为另一种。例如,当使用 Ccur 时,不同的小数点分隔符、千分位分隔符和各种货币选项,依据系统的区域设置都会被妥善识别。 当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2。Cint 和 CLng 函数不同于 Fix 和 Int 函数,Fix 和 Int 函数会将小数部分截断而不是四舍五入。并且 Fix 和 Int 函数总是返回与传入的数据类型相同的值。 使用 IsDate 函数,可判断 date 是否可以被转换为日期或时间。Cdate 可用来识别日期文字和时间文字,以及落入可接受的日期范围内的数值。当转换一个数字成为日期时,是将整数部分转换为日期,小数部分转换为从午夜起算的时间。 CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。另外,长日期格式,若包含有星期的字符串,也不能被识别。 CVDate 函数也提供对早期 Visual Basic 版本的兼容性。CVDate 函数的语法与 CDate 函数是完全相同的,不过,CVDate 是返回一个 Variant,它的子类型是 Date,而不是实际的 Date 类型。因为现在已有真正的 Date 类型,所以 CVDate 也不再需要了。转换一个表达式成为 Date,再赋值给一个 Variant,也可以达到同样的效果。也可以使用这种技巧将其他真正的数据类型转换为对等的 Variant 子类型。 注意 CDec 函数不能返回独立的数据类型,而总是返回一个 Variant,它的值已经被转换为 Decimal 子类型。 Choose 函数 语法 Choose(index, choice-1[, choice-2, ... [, choice-n]]) Choose 函数的语法具有以下几个部分: 部分 描述 说明 Choose 会根据 index 的值来返回选择项列表中的某个值。如果 index 是 1,则 Choose 会返回列表中的第 1 个选择项。如果 index 是 2,则会返回列表中的第 2 个选择项,以此类推。 可以使用 Choose 来查阅一个列表中的项目。例如,如果 index 所指定的值为 3,而 choice-1 = "one"、choice-2 = "two"、且 choice-3 = "three",那么 Choose 将返回 "three"。当 index 代表一选项组中的值时,则这项功能将会特别有用。 即使它只返回一个选项值,Choose 仍然会计算列表中的每个选择项。所以应该注意到这项副作用。例如,当在每个选择项表达式中使用了 MsgBox 函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。 当 index小于 1 或大于列出的选择项数目时,Choose 函数返回 Null。 如果 index 不是整数,则会先四舍五入为与其最接近的整数。 Chr 函数 语法 Chr(charcode) 必要的 charcode 参数是一个用来识别某字符的 Long。 说明 0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。 注意 ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 函数返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。 注意 Visual Basic for the Macintosh 不支持Unicode 字符串。因此,当n 值在128 – 65,535 范围内时, ChrW(n) 不能像在Windows环境中那样返回所有的 Unicode 字符。相反地,当Unicode 的n 值大于127 时,ChrW(n) 会试图做一个“最好的猜测”。因此,在Macintosh 环境中,不能使用ChrW 。 Command 函数 语法 Command 说明 当从命令行装入 Visual Basic 时,/cmd 之后的命令行的任何部分作为命令行的参数传递给程序。下面的示例中,cmdlineargs 代表 Command 函数返回的参数信息。 VB /cmd cmdlineargs 对于使用 Visual Basic 开发并编译为 .exe 文件的应用程序,Command 返回出现在命令行中应用程序名之后的任何参数。例如: MyApp cmdlineargs 想知道如何在正在使用的应用程序的用户界面中改变命令行参数,请搜寻关于“命令行参数”的帮助。 Cos 函数 语法 Cos(number) 必要的 number 参数是一 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。 说明 Cos 函数的参数为一个角,并返回直角三角形两边的比值。该比值为角的邻边长度除以斜边长度之商。 结果的取值范围在 -1 到 1 之间。 为了将角度转换成弧度,请将角度乘以 pi/180。为了将弧度转换成角度,请将弧度乘以 180/pi。 CreateObject 函数 语法 CreateObject(class,[servername]) CreateObject 函数的语法有如下部分: 部分 描述 class 参数使用 appname.objecttype 这种语法,包括以下部分: 部分 描述 说明 每个支持自动化的应用程序都至少提供一种对象类型。例如,一个字处理应用程序可能会提供 Application 对象,Document 对象,以及 Toolbar 对象。 要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量: '声明一个对象变量来存放该对象 上述代码将启动该应用程序创建该对象,在本例中就是创建一个 Microsoft Excel 电子数据表。对象创建后,就可以在代码中使用自定义的对象变量来引用该对象。在下面的示例中,可以使用对象变量 ExcelSheet 来访问新建对象的属性和方法,以及访问 Microsoft Excel 的其它对象,包括应用程序对象和单元格集合。 '设置 Application 对象使 Excel 可见 使用 As Object 子句声明对象变量,可以创建一个能包含任何类型对象引用的变量。不过,该变量访问对象是后期绑定的,也就是说,绑定在程序运行时才进行。要创建一个使用前期绑定方式的对象变量,也就是说,在程序编译时就完成绑定,则对象变量在声明时应指定类 ID。例如,可以声明并创建下列 Microsoft Excel 引用: Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.WorkSheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) 前期绑定的变量引用可以提供更好的性能,但该变量只能存放声明中所指定的类的引用。 可以将 CreateObject 函数返回的对象传给一个参数为对象的函数。例如,下面的代码创建并传递了一个 Excel.Application 对象的引用: Call MySub (CreateObject("Excel.Application")) 可以在一个远端连网的计算机上创建一个对象,方法是把计算机的名称传递给 CreateObject 的 servername 参数。这个名称与共享名称的机器名部份相同:对于一个共享名称为"//MyServer/Public," 的 servername 参数是 "MyServer" 。 注意 关于使应用程序在远程网络计算机上可见的详细信息,请参阅 COM 文档 (参阅Microsoft Developer Network)。您可能必须给应用程序添加注册号。 下面的代码返回在一个名为 MyServer 的远端计算机上运行的 Excel 实例的版本号: Dim xlApp As Object 如果远端服务器不存在或者不可用,则会发生一个运行时错误。 注意 当该对象当前没有实例时,应使用 CreateObject。如果该对象已有实例在运行,就会启动一个新的实例,并创建一个指定类型的对象。要使用当前实例,或要启动该应用程序并加载一个文件,可以使用 GetObject 函数。 如果对象已登记为单个实例对象,则不管执行多少次 CreateObject,都只能创建该对象的一个实例。 CurDir 函数 语法 CurDir[(drive)] 可选的 drive 参数是一个字符串表达式,它指定一个存在的驱动器。如果没有指定驱动器,或 drive 是零长度字符串 (""),则 CurDir 会返回当前驱动器的路径。 在 Macintosh上,CurDir 忽略任何指定的 drive ,并只简单地返回当前驱动器的路径。 CVErr 函数 语法 CVErr(errornumber) 必要的 errornumber 参数可以是任何有效的错误号代码。 说明 可以在过程中,使用 CVErr 函数来创建用户自定义错误。例如,如果创建一个函数,它可以接受若干个参数,且正常返回一个字符串,则可以让函数来判断输入的参数,确认它们是在可接受的范围内。如果不是的话,此函数将不会返回所要的字符串。在这种情况下,CVErr 可以返回一个错误号,并告知应该采取的行动。 注意,Error 的隐式转换是不允许的,例如,不能直接把 CVErr 的返回值赋值给一个非 Variant 的变量。然而,可以对 CVErr 的返回值进行显式转换(使用 CInt、CDbl 等等),并赋值给适当的数据类型变量。 Date 函数 语法 Date 说明 为了设置系统日期,请使用 Date 语句。 DateAdd 函数 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: 部分 描述 设置 设置 描述 说明 可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。 为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周的日数” (”w”)。 DateAdd 函数将不返回有效日期。在以下实例中将 1 月31 日加上一个月: DateAdd(m, 1, 31-Jan-95) 上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。 如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。 如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。 注意 DateAdd 返回值的格式由 Control Panel设置决定,而不是由传递到date 参数的格式决定。 DateDiff 函数 语法 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) DateDiff 函数语法中有下列命名参数: 部分 描述 interval 参数的设定值如下: 设置 描述
常数 值 描述
常数 值 描述 说明 DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。 为了计算 date1 与 date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算 date1 与 date2 之间星期日的个数而得。如果 date2 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。 如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。 firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。 如果 date1 或 date2 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 或 date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。 在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已。 DatePart 函数 语法 DatePart(interval, date[,firstdayofweek[, firstweekofyear]]) DatePart 函数语法中有下列命名参数: 部分 描述 设置 interval 参数的设定值如下: 设置 描述 firstdayofweek 参数的设定值如下: 常数 值 描述 firstweekofyear 参数的设定值如下: 常数 值 描述 DatePart 函数可以用来计算日期并返回指定的时间间隔。例如,可以使用DatePart 计算某个日期是星期几或目前为几点钟。 firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。 如果 date 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date 用双引号 (" ") 括起来,且年份略而不提,则在每次计算 date 表达式时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。 DateSerial 函数 语法 DateSerial(year, month, day) DateSerial 函数语法有下列的命名参数: 部分 描述 说明 为了指定某个日期,如 1991 年 12 月 31 日,DateSerial 函数中的每个参数的取值范围应该是可接受的;即,日的取值范围应在 1-31 之间,而月的取值范围应在 1-12 之间。但是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值表达式的参数指定相对日期。 以下示例中使用了数值表达式代替绝对日期。这里,DateSerial 函数返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 之前的日期;换句话说,就是 1980 年 5 月 31 日。 DateSerial(1990 - 10, 8 - 2, 1 - 1) year 参数的数值若介于 0 与 29 之间,则将其解释为 2000–2029年,若介于 30 和 99 之间则解释为1930–1999年。而对所有其它 year 参数,则请用四位数值表示(如 1800)。 当任何一个参数的取值超出可接受的范围时,它会适时进位到下一个较大的时间单位。例如,如果指定了 35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数将由其年份与月份来决定。如果一个参数值超出 -32,768 到 32,767 的范围,就会导致错误发生。 DateValue 函数 语法 DateValue(date) 必要的 date 参数 date 通常是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日之间的一个日期。但是,date 也可以是任何表达式,其所代表的日期、时间在上述范围内。 说明 如果 date 是一个字符串,且其内容只有数字以及分隔数字的日期分隔符,则 DateValue 就会根据系统中指定的短日期格式来识别月、日、年的顺序。DateValue 也识别明确的英文月份名称,全名或缩写均可。例如,除了 12/30/1991 和 12/30/91 之外,DateValue 也识别 December 30, 1991 和 Dec 30, 1991。 如果 date 中略去了年这一部分,DateValue 就会使用由计算机系统日期设置的当前年份。 如果 date 参数包含时间信息,则 DateValue 不会返回它。但是,如果 date 包含无效时间信息(如 89:98),则会导致错误发生。 Day 函数 语法 Day(date) 必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。 DDB 函数 语法 DDB(cost, salvage, life, period[, factor]) DDB 函数具有下列命名参数: 部分 描述 说明 双下落收复平衡方法用加速利率法计算折旧。在第一段时期,折旧为最高,而在接下来的期间内降低。 life 和 period 参数必须用相同的单位表示。例如,如果 life 用月份表示,则 period 也必须用月份表示。所有参数都必须是正值。 DDB 函数使用下列公式计算在一定时期后的折旧: 折旧 / period = ((cost – alvage) * factor) / life Dir 函数 语法 Dir[(pathname[, attributes])] Dir 函数的语法具有以下几个部分: 部分 描述 设置值 attributes 参数的设置可为: 常数 值 描述 注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。 在 Microsoft Windows 中, Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。 在 Macintosh 中,这些字符作为合法文件名字符并且不能作为通配符来指定多个文件 由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称: Dir("SomePath", MacID("TEXT")) 为选中文件夹中所有文件,指定一空串: Dir("") 在 Microsoft Windows 中,如果在Dir函数中使用MacID函数,将产生错误。 任何大于256的attribute值都被认为是MacID 函数的值。 在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括 pathname。 Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。 提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。 DoEvents 函数 语法 DoEvents( ) 说明 DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。 DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。 DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。 小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。 Environ 函数 语法 Environ({envstring | number}) Environ 函数的语法含有以下这些命名参数: 部分 描述 说明 如果在环境字符串表格中找不到 envstring,则会返回一个零长度字符串 ("")。如果找到,则 Environ 会返回一段文本,文本是赋值给指定的 envstring 的,也就是说,在环境字符串表格中对应那个环境变量的等号 (=) 后面的那段文本。 如果指定了 number,则在环境字符串表格中相应位置上的字符串会返回。在这种情况下,Environ 会返回整个文本,包括 envstring。如果在指定位置上没有环境字符串,那么 Environ 会返回一个零长度字符串。
EOF 函数 语法 EOF(filenumber) 必要的 filenumber 参数是一个 Integer,包含任何有效的文件号。 说明 使用 EOF 是为了避免因试图在文件结尾处进行输入而产生的错误。 直到到达文件的结尾,EOF 函数都返回 False。对于为访问 Random 或 Binary 而打开的文件,直到最后一次执行的 Get 语句无法读出完整的记录时,EOF 都返回 False。 对于为访问 Binary 而打开的文件,在 EOF 函数返回 True 之前,试图使用 Input 函数读出整个文件的任何尝试都会导致错误发生。在用 Input 函数读出二进制文件时,要用 LOF 和 Loc 函数来替换 EOF 函数,或者将 Get 函数与 EOF 函数配合使用。对于为 Output 打开的文件,EOF 总是返回 True。 Error 函数 语法 Error[(errornumber)] 这个可选的 errornumber 参数可以为任何有效的错误号。如果 errornumber 是有效的错误号,但尚未被定义,则 Error 将返回字符串“应用程序定义的错误或对象定义的错误”。如果 errornumber 不是有效的错误号,则会导致错误发生。如果省略 errornumber,就会返回与最近一次运行时错误对应的消息。如果没有发生运行时错误,或者 errornumber 是 0,则 Error 返回一个长度为零的字符串 ("")。 说明 请检查 Err 对象的属性设置,以便认定最近一次运行时错误。Error 函数的返回值对应于 Err 对象的 Des cription 属性。 Exp 函数 语法 Exp(number) 必要的 number 参数 number 是 Double或任何有效的数值表达式。 说明 如果 number 的值超过 709.782712893,则会导致错误发生。常数 e 的值大约是 2.718282。 注意 Exp 函数的作用和 Log 的作用互补,所以有时也称做反对数。 FileAttr 函数 语法 FileAttr(filenumber, returntype) FileAttr 函数的语法具有以下几个命名参数: 部分 描述 返回值 当 returntype 参数值为 1 时,下列返回值指出文件访问方式: 方式 值 FileDateTime 函数 语法 FileDateTime(pathname) 必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。 FileLen 函数 语法 FileLen(pathname) 必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。 说明 当调用 FileLen 函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。 注意 若要取得一个打开文件的长度大小,使用 LOF 函数。 Filter函数 返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。 语法 Filter(sourcesrray, match[, include[, compare]]) Filter函数语法有如下的命名参数: 部分 描述 设置值 常数 值 描述 说明 Filter函数所返回的数组,其元素数目刚好是所找到的匹配项目数。 Int、Fix 函数 语法 Int(number) Fix(number) 必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返回 Null。 说明 Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。 Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。 Fix(number) 等于: Sgn(number) * Int(Abs(number)) Format 函数 语法 Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) Format 函数的语法具有下面几个部分: 部分 说明 设置值 常数 值 说明 firstweekofyear 参数有下面设置: 常数 值 说明 说明 格式化 作法 如果在格式化数字时没有指定 format,Format 会提供与 Str 函数类似的功能,尽管它是国际化的。然而,以 Format 作用在正数上不会保留正负号空间,而以 Str 的话则会。 如果要格式化一个没有本地化的数值字符串,应该使用一个用户自定义的数值格式,以保证得到需要的外观。 注意 如果 Calendar 属性设置是Gregorian ,并且format 指定了日期格式,那么,提供的 expression 必须是Gregorian 。如果Visual Basic Calendar 属性设置是 Hijri,则提供的的 expression 必须是Hijri 。 如果日历是Gregorian,则 format 表达式的意义没有改变。如果日历是Hijri ,则所有的日期格式符号(例如,dddd, mmmm, yyyy )有相同的意义,这些意义只应用于Hijri 日历。格式符号保持英文,用于文本显示的符号(例如,AM 和PM )显示与该符号有关的字符串(英文或阿拉伯数字)。当日历是Hijri 时,一些符号的范围会改变。 符号 范围 FormatCurrency函数 返回一个货币值格式的表达式,它使用系统控制面板中定义的货币符号。 语法 FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]]) FormatCurrency函数语法有如下几部分: 部分 描述 设置值 常数 值 描述 说明 货币符号相对货币值的位置由计算机的区域设置值确定。 注意 除起始的零外,所有设置值信息都来自“区域设置”的“货币”选项卡,起始的零来自“数字”选项卡。 FormatDateTime函数 返回一个日期或时间格式的表达式。 语法 FormatDateTime(Date[,NamedFormat]) FormatDateTime函数语法有如下几部分: 部分 描述 设置值 常数 值 描述
返回一个数字格式的表达式。 语法 FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]]) FormatNumber函数语法有如下几部分: 部分 描述 设置值 常数 值 描述 说明 注意 所有设置值信息都来自“区域设置”的“数字”选项卡。 FormatPercent函数 返回一个百分比格式(乘以100)的表达式,后面有%符号。 语法 FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]]) FormatPercent函数语法有如下几部分: 部分 描述 设置值 常数 值 描述 说明 注意 所有的设置值信息都来自“区域设置”的“数字”选项卡。 FreeFile 函数 语法 FreeFile[(rangenumber)] 可选的参数 rangenumber 是一个 Variant,它指定一个范围,以便返回该范围之内的下一个可用文件号。指定 0(缺省值)则返回一个介于 1 – 255 之间的文件号。指定 1 则返回一个介于 256 – 511 之间的文件号。 说明 使用 FreeFile 提供一个尚未使用的文件号。 FV 函数 语法 FV(rate, nper, pmt[, pv[, type]]) FV 函数有下列命名参数: 部分 描述 说明 在支付期间,必须用相同的单位来计算 rate 和 nper 参数。例如,如果 rate 用月份来计算,则 nper 也必须用月份来计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 GetAllSettings 函数 语法 GetAllSettings(appname, section) GetAllSettings 函数的语法具有下列命名参数: 部分 描述 说明 如果 appname 或 section 不存在,则 GetAllSettings 返回未初始化的 Variant。 GetAttr 函数 语法 GetAttr(pathname) 必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。 返回值 由 GetAttr 返回的值,是下面这些属性值的总和: 常数 值 描述 注意 这些常数是由 VBA 指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。 若要判断是否设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And 运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的 And 表达式中,如果档案 (Archive) 属性没有设置,则返回值为零: Result = GetAttr(FName) And vbArchive 如果文件的档案属性已设置,则返回非零的数值。 GetObject 函数 语法 GetObject([pathname] [, class]) GetObject 函数的语法包含下面几个命名参数: 部分 描述 其中,class 参数的语法格式为 appname.objecttype,且语法的各个部分如下: 部分 描述 说明 Dim CADObject As Object 当执行上述代码时,就会启动与指定的 pathname 相关联的应用程序,同时激活指定文件中的对象。 如果 pathname 是一个零长度的字符串 (""),则 GetObject 返回指定类型的新的对象实例。如果省略了 pathname 参数,则 GetObject 返回指定类型的当前活动的对象。如果当前没有指定类型的对象,就会出错。 有些应用程序允许只激活文件的一部分,其方法是在文件名后加上一个惊叹号 (!) 以及用于标识想要激活的文件部分的字符串。关于如何创建这种字符串的信息,请参阅有关应用程序创建对象的文档。 例如,在绘图应用程序中,一个存放在文件中的图可能有多层。可以使用下述代码来激活图中被称为 SCHEMA.CAD 的层: Set LayerObject = GetObject("C:/CAD/SCHEMA.CAD!Layer3") 如果不指定对象的 class,则自动化会根据所提供的文件名,来确定被启动的应用程序以及被激活的对象。不过,有些文件可能不止支持一种对象类。例如,图片可能支持三种不同类型的对象:Application 对象,Drawing 对象,以及 Toolbar 对象,所有这些都是同一个文件中的一部分。为了说明要具体激活文件中的哪种对象,就应使用这个可选的 class 参数。例如: Dim MyObject As Object 在上述例子中,FIGMENT 是一个绘图应用程序的名称,而 DRAWING 则是它支持的一种对象类型。 对象被激活之后,就可以在代码中使用所定义的对象变量来引用它。在前面的例子中,可以使用对象变量 MyObject 来访问这个新对象的属性和方法。例如: MyObject.Line 9, 90 注意 当对象当前已有实例,或要创建已加载的文件的对象时,就使用 GetObject 函数。如果对象当前还没有实例,或不想启动已加载文件的对象,则应使用 CreateObject 函数。 如果对象已注册为单个实例的对象,则不管执行多少次 CreateObject,都只能创建该对象的一个实例。若使用单个实例对象,当使用零长度字符串 ("") 语法调用时,GetObject 总是返回同一个实例,而若省略 pathname 参数,就会出错。不能使用 GetObject 来获取 Visual Basic 创建的类的引用。 GetSetting 函数 语法 GetSetting(appname, section, key[, default]) GetSetting 函数的语法具有下列命名参数: 部分 描述 说明 Hex 函数 语法 Hex(number) 必要的 number 参数为任何有效的数值表达式或字符串表达式。 说明 如果 number 还不是一个整数,那么在执行前会先被四舍五入成最接近的整数。 如果 number 为 所得为 适当范围内的数字,前缀以 &H,可以直接表示十六进制数字。例如,十六进制表示法的 &H10 代表十进制的 16。 语法 Hour(time) 必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含 Null,则返回 Null。 IIf 函数 语法 IIf(expr, truepart, falsepart) IIf 函数的语法含有下面这些命名参数: 部分 描述 说明 IMEStatus 函数 语法 IMEStatus 返回值 下面是日本区域的返回值: 常数 值 描述 下面是韩国地区的返回值: 常数 值 描述 下面是中文地区的返回值: 常数 值 描述 Input 函数 语法 Input(number, [#]filenumber) Input 函数的语法具有以下几个部分: 部分 描述 说明 与 Input # 语句不同,Input 函数返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。 对于 Binary 访问类型打开的文件,如果试图用 Input 函数读出整个文件,则会在 EOF 返回 True 时产生错误。在用 Input 读出二进制文件时,要用 LOF 和 Loc 函数代替 EOF 函数,而在使用 EOF 函数时要配合以 Get 函数。 注意 对于文本文件中包含的字节数据要使用 InputB 函数。对于 InputB 来说,number 指定的是要返回的字节个数,而不是要返回的字符个数。 InputBox 函数 语法 InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) InputBox 函数的语法具有以下几个命名参数: 部分 描述 说明 注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 InputBox。如果要省略某些位置参数,则必须加入相应的逗号分界符。 InStr 函数 语法 InStr([start, ]string1, string2[, compare]) InStr 函数的语法具有下面的参数: 部分 说明 设置 常数 值 描述 返回值 如果 InStr返回 InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。 InStrRev函数 返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。 语法 InstrRev(stringcheck, stringmatch[, start[, compare]]) InstrRev函数语法有如下命名参数: 部分 描述 compare 可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。关于其值,请参阅“设置值”部分。 设置值 常数 值 描述 返回值 如果 InStrRev返回 说明 IPmt 函数 语法 IPmt(rate, per, nper, pv[, fv[, type]]) IPmt 函数有下列命名参数: 部分 描述 说明 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 IRR 函数 语法 IRR(values()[, guess]) IRR 函数有下列命名参数: 部分 描述 说明 返回的内部利率是在正常的时间间隔内,一笔含有支出及收入的投资得到的利率。 IRR 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入的顺序正确。每一时期的现金流不必像年金那样固定不变。 IRR 是利用叠代进行计算。先从 guess 的值开始,IRR 反复循环进行计算,直到精确度达到 0.00001%。如果经过 20 次反复叠代测试还不能得到结果,则 IRR 计算失败。 IsArray 函数 语法 IsArray(varname) 必要的 varname 参数是一个指定变量的标识符。 说明 如果变量是数组,则 IsArray 返回 True;否则返回 False。对于包含数组的 variant 表达式来说,IsArray 尤为有用。 IsDate 函数 语法 IsDate(expression) 必要的 expression 参数是一个 Variant,包含日期表达式或字符串表达式,这里的字符串表达式是可以作为日期或时间来认定的。 说明 如果表达式是一个日期,或可以作为有效日期识别,则 IsDate 返回 True;否则返回 False。在 Microsoft Windows 中,有效日期的范围介于公元 100 年 1 月 1 日与公元 9999 年 12 月 31 日之间;其有效范围随操作系统不同而不同。 IsEmpty 函数 语法 IsEmpty(expression) 必要的 expression 参数是一个 Variant,包含一个数值或字符串表达式。但是,因为 IsEmpty 被用来确定个别变量是否已初始化,所以 expression 参数通常是单一变量名。 说明 如果变量未初始化或已明确设置为 Empty,则 IsEmpty 返回 True;否则返回 False。如果 expression 含有多个变量,则 IsEmpty 总是返回 False。IsEmpty 只返回对 variant 表达式有意义的信息。 IsError 函数 语法 IsError(expression) 必需的 expression 参数,可以是任何有效表达式。 说明 利用 CVErr 函数将实数转换成错误值就会建立错误值。IsError 函数被用来确定一个数值表达式是否表示一个错误。如果 expression 参数表示一个错误,则 IsError 返回 True;否则返回 False。 IsMissing 函数 语法 IsMissing(argname) 必要的 argname 参数包含一个可选的 Variant 过程参数名。 说明 使用 IsMissing 函数来检测在调用一个程序时是否提供了可选 Variant 参数。如果对特定参数没有传递值过去,则 IsMissing 返回 True;否则返回 False。如果 IsMissing 对某个参数返回 True,则在其它代码中使用这个丢失的参数将产生一个用户自定义的错误。如果对 ParamArray 参数使用 IsMissing,则函数总是返回 False。为了检测空的 ParamArray,可试看一下数组的上界是否小于它的下界。 注意 IsMissing 对简单数据类型(例如 Integer或Double)不起作用,因为与Variants不同,它们没有“丢失”标志位的前提。正由于此,对于可选参数类型,可以指定缺省值。如果调用过程时,参数被忽略,则该参数将具有该缺省值,如下列示例中所示: Sub MySub(Optional MyVar As String = "specialvalue") 在许多情况下,如果用户从函数调用中忽略,则可以通过使缺省值等于希望 MyVar 所包含的值来完全忽略 If MyVar 测试。这将使您的代码更简洁有效。 IsNull 函数 语法 IsNull(expression) 必要的 expression 参数是一个 Variant,其中包含数值表达式或字符串表达式。 说明 如果 expression 为 Null,则 IsNull 返回 True;否则 IsNull 返回 False。如果 expression 由多个变量组成,则表达式的任何作为变量组成成分的 Null 都会使整个表达式返回 True。 Null 值指出 Variant 不包含有效数据。Null 与 Empty 不同,后者指出变量尚未初始化。Null 与长度为零的字符串 (““) 也不同,长度为零的字符串指的是空串。 重要 使用 IsNull 函数是为了确定表达式是否包含 Null 值的。在某些情况下,希望表达式取值为 True,比如希望 If Var = Null 和 If Var <> Null 取值为 True,而它们总取值为 False。这是因为任何包含 Null 的表达式本身就是 Null,所以为 False。 IsNumeric 函数 语法 IsNumeric(expression) 必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。 说明 如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False。 如果 expression 是日期表达式,则 IsNumeric 返回 False。 IsObject 函数 语法 IsObject(identifier) 必要的 identifier 参数是一个变量名。 说明 IsObject 只用于确定 Variant 是否属于 VarType vbObject。如果 Variant 实际引用(或曾经引用过)一个对象,或者如果 Variant 包含 Nothing,则可能出现这种情况。 如果 identifier 是 Object类型或任何有效的类类型,或者,如果 identifier 是 VarType vbObject 的 Variant 或用户自定义的对象,则 IsObject 返回 True;否则返回 False。即使变量已设置成 Nothing,IsObject 也仍返回 True。 使用错误捕获方法可以确认对象引用是否有效。 Join函数 返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。 语法 Join(sourcearray[, delimiter]) Join函数语法有如下命名参数: 部分 描述 LBound 函数 语法 LBound(arrayname[, dimension]) LBound 函数的语法包含下面部分: 部分 描述 说明 对具有下述维数的数组而言,LBound 的返回值见下表: Dim A(1 To 100, 0 To 3, -3 To 4) 语句 返回值 所有维的缺省下界都是 0 或 1,这取决于 Option Base 语句的设置。使用 Array 函数创建的数组的下界为 0;它不受 Option Base 的影响。 LCase 函数 语法 LCase(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 说明 只有大写的字母会转成小写;所有小写字母和非字母字符保持不变。 Left 函数 语法 Left(string, length) Left 函数的语法有下面的命名参数: 部分 说明 说明 欲知 string 的字符数,使用 Len 函数。 注意 LeftB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是要返回的字符数。 Len 函数 语法 Len(string | varname) Len 函数的语法有下面这些部分: 部分 说明 说明 注意 LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。对于使用 LenB的示例代码,请参阅示例主题中的第二个示例。 注意 当在用户自定义数据类型中使用变长字符串时,Len 可能不能确定实际存储所需的字节数目。 Loc 函数 语法 Loc(filenumber) 必要的 filenumber 参数是任何一个有效的 Integer 文件号。 说明 Loc 函数对各种文件访问方式的返回值如下: 方式 返回值 LOF 函数 语法 LOF(filenumber) 必要的 filenumber 参数是一个 Integer,包含一个有效的文件号。 注意 对于尚未打开的文件,使用 FileLen 函数将得到其长度。 Log 函数 语法 Log(number) 必要的 number 参数是 Double 或任何有效的大于 0 的数值表达式。 说明 自然对数是以 e 为底的对数。常数 e 的值大约是 2.718282。 如下所示,将 x 的自然对数值除以 n 的自然对数值,就可以对任意底 n 来计算数值 x 的对数值: Logn(x) = Log(x) / Log(n) 下面的示例说明如何编写一个函数来求以 10 为底的对数值: Static Function Log10(X) LTrim、RTrim与 Trim 函数 语法 LTrim(string) RTrim(string) Trim(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 MacID 函数 语法 MacID(常量) 所需的常量参数包含4个字符,用来说明一个资源类型、文件类型、数字签名或 Apple Event,例如: “TEXT”、 “OBIN”,Excel 文件用 "XLS5" 说明(Excel 97用 "XLS8" 说明), Microsoft Word 用 "W6BN" 说明(Word 97用 "W8BN" 说明),如此等等. 注释 MacID 与 Dir 和 Kill 一起被用来说明一个 Macintosh 的文件类型。尽管 Macintosh 不支持 * 和 ? 作为通配符,您仍可以用4个字符常量替代说明一组文件。例如,下面的指令从当前的文件夹中返回 TEXT 类型的文件: Dir("SomePath", MacID("TEXT")) MacID 与 Shell 和 AppActivate 一起被用来说明一个应用使用此应用的唯一签名。 Macs cript 函数 语法 Macs cript 脚本 参数脚本是一个字符串表达式。此字符串表达式既可以是一系列 Apples cript 的命令,也可以说明成 Apples cript 脚本或一个脚本文件的名字。 Remarks 多行脚本可由嵌入回车字符(Chr(13))生成。 Mid 函数 语法 Mid(string, start[, length]) Mid 函数的语法具有下面的命名参数: 部分 说明 说明 欲知 string 的字符数,可用 Len 函数。 注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。 Minute 函数 语法 Minute(time) 必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含 Null,则返回 Null。 MIRR 函数 语法 MIRR(values(), finance_rate, reinvest_rate) MIRR 函数有下列命名参数: 部分 描述 说明 finance_rate 和 reinvest_rate 参数是用十进制数值表示的百分比。例如,0.12 表示百分之十二。 MIRR 函数用数组中的数值顺序来解释支付和收入的顺序。要确保支付和收入的输入顺序正确。 Month 函数 语法 Month(date) 必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。 MonthName函数 返回一个表示指定月份的字符串。 语法 MonthName(month[, abbreviate]) MonthName函数语法有如下几部分: 部分 描述 MsgBox 函数 语法 MsgBox(prompt[, buttons] [, title] [, helpfile, context]) MsgBox 函数的语法具有以下几个命名参数: 部分 描述 设置值 常数 值 描述 vbApplicationModal 0 应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。 第一组值 (0–5) 描述了对话框中显示的按钮的类型与数目;第二组值 (16, 32, 48, 64) 描述了图标的样式;第三组值 (0, 256, 512) 说明哪一个按钮是缺省值;而第四组值 (0, 4096) 则决定消息框的强制返回性。将这些数字相加以生成 buttons 参数值的时候,只能由每组值取用一个数字。 返回值 常数 值 描述 说明 如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。如果对话框中有 Help 按钮,则对话框中提供有上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。 注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 MsgBox。为了省略某些位置参数,必须加入相应的逗号分界符。 Now 函数 语法 Now NPer 函数 语法 NPer(rate, pmt, pv[, fv[, type]]) NPer 函数有下列命名参数: 部分 描述 说明 年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 NPV 函数 语法 NPV(rate, values()) NPV 函数有下列命名参数: 部分 描述 说明 投资的净现值是未来一系列支付或收入的当前价值。 NPV 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入值是用正确的顺序输入的。 NPV 投资在第一笔现金流值之前开始计算周期,而结束于数组中最后的现金流值。 净现值是根据未来的现金流进行计算的。如果第一笔现金流在第一期开始时发生,那么 NPV 返回的值必须加上第一笔值才是净现值。而且 values() 数组不可包含第一笔值。 NPV 函数与 PV 函数(现值)相似,只是 PV 函数在一个期间的开始或结束时才允许有现金流。与可变的 NPV 现金流值不同,PV 的现金流在整个投资期间必须固定。 Oct 函数 语法 Oct(number) 必要的 number 参数为任何有效的数值表达式或字符串表达式。 说明 如果 number 尚非整数,那么在执行前会先四舍五入成最接近的整数。 如果 number 为 Oct 返回 可以将适当范围的数前缀以 &O 来直接表示八进制数字。例如,八进制表示法的 &O10 代表十进制的 8。 Partition 函数 返回一个 Variant (String),指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内。 语法 Partition(number, start, stop, interval) Partition 函数的语法含有下面这些命名参数: 部分 描述 说明 下面的表格使用三组 start,stop 以及 interval 部分,来显示怎样决定这个范围。第一个范围和最后一个范围两列显示 Partition 的返回值,此范围的低端 (lowervalue) 和高端 (uppervalue) 是以冒号分开的。 start stop interval 第一个范围之前 第一个范围 最后一个范围 最后一个范围之后 从上面的表格中得知,在第三行中,由 start 和 stop 所定义的数值范围不能以 interval 来均分。所以,即使 interval 是 20,最后一个范围也只能扩展到stop(11 个数)。 如果 interval 是 1,则范围便是 number:number,而不管 start 和 stop 参数如何。比如说,如果 interval 是 1,number 是 100,而 stop 是 1000,则 Partition 会返回 " 100: 100"。 如果任何部分是 Null,则 Partition 会返回一个 Null。 Pmt 函数 语法 Pmt(rate, nper, pv[, fv[, type]]) Pmt 函数有下列命名参数: 部分 描述 说明 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 PPmt 函数 语法 PPmt(rate, per, nper, pv[, fv[, type]]) PPmt 函数有下列命名参数: 部分 描述 说明 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 PV 函数 语法 PV(rate, nper, pmt[, fv[, type]]) PV 函数有下列命名参数: 部分 描述 说明 年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,现金支出(如储蓄存款)用负数表示,而现金收入(如红利支票)用正数表示。 QBColor 函数 语法 QBColor(color) 必要的 color 参数是一个界于 0 到 15 的整型。 设置值 color 参数有以下这些设置: 值 颜色 值 颜色 说明 Rate 函数 语法 Rate(nper, pmt, pv[, fv[, type[, guess]]]) Rate 函数有下列命名参数: 部分 描述 说明 年金是在一段时间内的一系列固定现金支付,年金可以是贷款(如房屋抵押贷款)或是一笔投资(如按月储蓄计划)。 对所有参数,现金支出(如储蓄存款)用负数表示,而现金收入(如红利支票)用正数表示。 Rate 是叠代计算的。先从 guess 的值开始,Rate 反复循环计算,直到精确度达到 0.00001%。如果经过 20 次叠代测试还不能得到结果,则 Rate 计算失败。如果猜测是 10% 而 Rate 计算失败,则请试用不同的 guess.值。 Replace函数 返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。 语法几 Replace(expression, find, replace[, start[, count[, compare]]]) Replace函数语法有如下命名参数: 部分 描述 设置值 常数 值 描述 返回值 如果 Replace返回值 说明 Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。 RGB 函数 语法 RGB(red, green, blue) RGB 函数的语法含有以下这些命名参数: 部分 描述 说明 传给 RGB 的任何参数的值,如果超过 255,会被当作 255。 下面的表格显示一些常见的标准颜色,以及这些颜色的红、绿、蓝三原色的成份: 颜色 红色值 绿色值 兰色值 该函数返回的RGB 颜色值与 Macintosh 操作系统使用的不兼容,这些值可能在 Macintosh 上的Microsoft 应用程序上下文中使用, 但当通信色直接改变到 Macintosh 操作系统时,不能使用。 语法 Right(string, length) Right 函数的语法具有下面的命名参数: 部分 说明 说明 欲知 string 的字符数,用 Len 函数。 注意 RightB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是指定返回的字符数。 Rnd 函数 语法 Rnd[(number)] 可选的 number 参数是 Single 或任何有效的数值表达式。 返回值 如果 number 的值是 Rnd 生成 说明 Rnd 函数返回小于 1 但大于或等于 0 的值。 number 的值决定了 Rnd 生成随机数的方式。 对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。 在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。 为了生成某个范围内的随机整数,可使用以下公式: Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。 注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。 Round函数 返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。 语法 Round(expression [,numdecimalplaces]) Round函数语法有如下几部分: 部分 描述 Second 函数 语法 Second(time) 必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含 Null,则返回 Null。 Seek 函数 语法 Seek(filenumber) 必要的 filenumber 参数是一个包含有效文件号的 Integer。 说明 Seek 函数返回介于 1 和 2,147,483,647(相当于 2^31 – 1)之间的值。 对各种文件访问方式的返回值如下: 方式 返回值 Sgn 函数 语法 Sgn(number) 必要的 number 参数是任何有效的数值表达式。 返回值 如果 number 为 Sgn 返回 说明 Shell 函数 语法 Shell(pathname[,windowstyle]) Shell 函数的语法含有下面这些命名参数: 部分 描述 windowstyle 命名参数有以下这些值: 常量 值 描述 说明 如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误。 在Macintosh中,vbNormalFocus、vbMinimizedFocus和vbMaximizedFocus都将应用程序置于前台;vbHide、vbNoFocus、vbMinimizeFocus都将应用程序置于后台。 注意 缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。 Sin 函数 语法 Sin(number) 必要的 number 参数是 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。 说明 Sin 函数取一角度为参数值,并返回角的对边长度除以斜边长度的比值。 结果的取值范围在 -1 到 1 之间。 为了将角度转换为弧度,请将角度乘以 pi /180。为了将弧度转换为角度,请将弧度乘以 180/pi。 SLN 函数 语法 SLN(cost, salvage, life) SLN 函数有下列命名参数: 部分 描述 说明 折旧期间必须用与 life 参数相同的单位表示。所有参数都必须是正数。 Space 函数 语法 Space(number) 必要的 number 参数为字符串中想要的空格数。 说明 Space 函数在格式输出或清除固定长度字符串数据时很有用。 Spc 函数 语法 Spc(n) 必要的 n 参数是在显示或打印列表中的下一个表达式之前插入的空白数。 说明 如果 n 小于输出行的宽度,则下一个打印位置将紧接在数个已打印的空白之后。如果 n 大于输出行的宽度,则 Spc 利用下列公式计算下一个打印位置: currentprintposition + (n Mod width) 例如,如果当前输出位置为 24,而输出行的宽度为 80,并指定了 Spc(90),则下一个打印将从位置 34 开始(当前打印位置 + 90/80 的余数)。如果当前打印位置和输出行宽度之间的差小于 n(或 n Mod width),则 Spc 函数会跳到下一行的开头,并产生数量为 n – (width – urrentprintposition) 的空白。 注意 要确保表格栏宽度足以容纳较宽的字符串。 当 Print 方法与间距字体一起使用时,使用 Spc 函数打印的空格字符的宽度总是等于选用字体内以磅数为单位的所有字符的平均宽度。但是,在已打印字符的个数与那些字符所占据的定宽列的数目之间不存在任何关系。例如,大写英文字母 W 占据超过一个定宽的列,而小写字母 i 则占据少于一个定宽的列。 Split函数 返回一个下标从零开始的一维数组,它包含指定数目的子字符串。 语法 Split(expression[, delimiter[, limit[, compare]]]) Split函数语法有如下命名参数: 部分 描述 设置值 compare参数的设置值如下: 常数 值 描述 Sqr 函数 语法 Sqr(number) 必要的 number 参数 number 是 Double 或任何有效的大于或等于 0 的数值表达式。 Str 函数 语法 Str(number) 必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。 说明 当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。 使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。 注意 Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。 StrComp 函数 语法 StrComp(string1, string2[, compare]) StrComp 函数的语法有下面的命名参数: 部分 说明 设置 compare 参数设置为: 常数 值 描述 返回值 如果 StrComp 返回 StrConv 函数 语法 StrConv(string, conversion, LCID) StrConv 函数的语法有下面的命名参数: 部分 说明 设置值 常数 值 说明 *应用到远东区域。 注意 这些常数是由 VBA 指定的。可以在程序中使用它们来替换真正的值。其中大部分是可以组合的,例如 vbUpperCase + vbWide,互斥的常数不能组合,例如 vbUnicode + vbFromUnicode。当在不适用的区域使用常数 vbWide、vbNarrow、vbKatakana,和 vbHiragana 时,就会导致运行时错误。 下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),换行 (Chr$(10)),垂直制表符 (Chr$(11)),换页 (Chr$(12)) ,回车 (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的实际值会随国家/地区而不同。 说明 在把 ANSI 格式的 Byte 数组转换为字符串时,您应该使用 StrConv 函数。当您转换 Unicode 格式的这种数组时,使用赋值语句。 StrReverse函数 返回一个字符串,其中一个指定子字符串的字符顺序是反向的。 语法 StrReverse(expression) 参数expression 是一个字符串,它的字符顺序要被反向。如果expression 是一个长度为零的字符串(""),则返回一个长度为零的字符串。如果expression为Null,则产生一个错误。 String 函数 语法 String(number, character) String 函数的语法有下面的命名参数: 部分 说明 说明 如果指定 character 的数值大于 255,String 会按下面的公式将其转为有效的字符码: character Mod 256 Switch 函数 语法 Switch(expr-1, value-1[, expr-2, value-2 _ [, expr-n,value-n]]) Switch 函数的语法具有以下几个部分: 部分 描述 说明 Switch 会返回一个 Null值,如果: 没有一个表达式为 True。
SYD 函数 语法 SYD(cost, salvage, life, period) SYD 函数有下列命名参数: 部分 描述 说明 Tab 函数 语法 Tab[(n)] 可选的 n 参数是在显示或打印列表中的下一个表达式之前移动的列数。若省略此参数,则 Tab 将插入点移动到下一个打印区的起点。这就使 Tab 可用来替换区域中的逗号,此处,逗号是作为十进制分隔符使用的。 说明 如果当前行上的打印位置大于 n,则 Tab 将打印位置移动到下一个输出行的第 n 列上。如果 n 小于 1,则 Tab 将打印位置移动到列 1。如果 n 大于输出行的宽度,则 Tab 函数使用以下公式计算下一个打印位置: n Mod width 例如,如果 width 是 80,并指定 Tab(90),则下一个打印将从列 10 开始(90/80 的余数)。如果 n 小于当前打印位置,则从下一行中计算出来的打印位置开始打印。如果计算后的打印位置大于当前打印位置,则从同一行中计算出来的打印位置开始打印。 输出行最左端的打印位置总是 1。在使用 Print # 语句将数据写入文件时,最右端的打印位置是输出文件的当前宽度,这一宽度可用 Width # 语句设置。 注意 要确保表格列的宽度足以容纳较宽的字符串。 当 Print 方法与 Tab 函数一起使用时,打印的外观将会被分割为均匀、定宽的列。各列的宽度等于选用字体内以磅数为单位的所有字符的平均宽度。但是,在已打印字符的个数与那些字符所占据的定宽列的数目之间不存在任何关系。例如,大写字母 W 占据超过一个定宽的列,而小写字母 i 则占据少于一个定宽的列。 Tan 函数 语法 Tan(number) 必要的 number 参数是 Double 或任何有效的数值表达式,表示一个以弧度为单位的角度。 说明 Tan 取一角度为参数值,并返回直角的两条邻边的比值。该比值是角的对边长度除以角的邻边长度的商。 为了将角度转换为弧度,请将角度乘以 pi/180/180。为了将弧度转换为角度,请将弧度乘以 180/pi。 Time 函数 语法 Time 说明 为了设置系统时间,请使用 Time 语句。 Timer 函数 语法 Timer 说明 Microsoft Windows中,Timer函数返回一秒的小数部分。在Macintosh上,计时器的精度是1秒。 TimeSerial 函数 语法 TimeSerial(hour, minute, second) TimeSerial 函数语法有下列的命名参数: 部分 描述 说明 TimeSerial(12 - 6, -15, 0) TimeValue 函数 语法 TimeValue(time) 必要的 time 参数,通常是一个字符串表达式,表示 0:00:00 (12:00:00 A.M.) 到 23:59:59 (11:59:59 P.M.) 之间的时刻。但是,time 也可以是表示在同一时间范围取值的任何其它表达式。如果 time 包含 Null,则返回 Null。 说明 可以使用 12 小时制或 24 小时制的时间格式。例如,”2:24PM” 和 "14:24" 均是有效的 time 表达式。 如果 time 参数包含日期信息,TimeValue 将不会返回它。但是,若 time 包含无效的日期信息,则会导致错误发生。 TypeName 函数 语法 TypeName(varname) 必要的 varname 参数是一个 Variant,它包含用户定义类型变量之外的任何变量。 说明 TypeName 所返回的字符串可以是下面列举的任何一个字符串: 返回字符串 变量 如果 varname 是一个数组,则返回的字符串可以是任何一个后面添加了空括号的可能的返回字符串(或 Variant)。例如,如果 varname 是一个整数数组,则 TypeName 返回 "Integer()"。 UBound 函数 语法 UBound(arrayname[, dimension]) UBound 函数的语法包含下面部分: 部分 描述 说明 对具有下述维数的数组而言,UBound 的返回值见下表: Dim A(1 To 100, 0 To 3, -3 To 4) 语句 返回值 UCase 函数 语法 UCase(string) 必要的 string 参数为任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 说明 只有小写的字母会转成大写;原本大写或非字母之字符保持不变。 Val 函数 语法 Val(string) 必要的 string 参数可以是任何有效的字符串表达式. 说明 Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。 下面的返回值为 1615198: Val(" 1615 198th Street N.E.") 在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。 Val("&HFFFF") 注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。 VarType 函数 语法 VarType(varname) 必要的 varname 参数是一个 Variant,包含用户定义类型变量之外的任何变量。 返回值 常数 值 描述 注意 这些常数是由 Visual Basic 为应用程序指定的。这些名称可以在程序代码中到处使用,以代替实际值。 VarType 函数自身从不对 vbArray 返回值。VarType 总是要加上一些其他值来指出一个具体类型的数组。常数 vbVariant 只与 vbArray 一起返回,以表明 VarType 函数的参数是一个 Variant 类型的数组。例如,对一个整数数组的返回值是 vbInteger + vbArray,或 8194。如果一个对象有缺省属性,则 VarType (object) 返回对象缺省属性的类型。 Weekday 函数 语法 Weekday(date, [firstdayofweek]) Weekday 函数语法有下列的命名参数: 部分 描述 设置 常数 值 描述 返回值 常数 值 描述 WeekdayName函数 返回一个字符串,表示一星期中的某天。 语法 WeekdayName(weekday, abbreviate, firstdayofweek) WeekdayName函数语法有如下几部分: 部分 描述 设置值 常数 值 描述 Year 函数 语法 Year(date) 必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。
|
|