|
Visual Basic 函数速查
函数 ( R-Z )
返回一个 Double,指定每一期的年金利率。 语法 Rate(nper, pmt, pv[, fv[, type[, guess]]]) Rate 函数有下列命名参数:
说明 年金是在一段时间内的一系列固定现金支付,年金可以是贷款(如房屋抵押贷款)或是一笔投资(如按月储蓄计划)。 对所有参数,现金支出(如储蓄存款)用负数表示,而现金收入(如红利支票)用正数表示。 Rate 是叠代计算的。先从 guess 的值开始,Rate 反复循环计算,直到精确度达到 0.00001%。如果经过 20 次叠代测试还不能得到结果,则 Rate 计算失败。如果猜测是 10% 而 Rate 计算失败,则请试用不同的 guess.值。 描述 返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。 语法 Replace(expression, find, replacewith[, start[, count[, compare]]]) Replace函数语法有如下几部分:
设置值 compare参数的设置值如下:
返回值 Replace的返回值如下:
说明 Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。 返回一个 Long整数,用来表示一个 RGB 颜色值。 语法 RGB(red, green, blue) RGB 函数的语法含有以下这些命名参数:
说明 可以接受颜色说明的应用程序的方法和属性期望这个说明是一个代表 RGB 颜色值的数值。一个 RGB 颜色值指定红、绿、蓝三原色的相对亮度,生成一个用于显示的特定颜色。 传给 RGB 的任何参数的值,如果超过 255,会被当作 255。 下面的表格显示一些常见的标准颜色,以及这些颜色的红、绿、蓝三原色的成份:
返回 Variant (String),其中包含从字符串右边取出的指定数量的字符。 语法 Right(string, length) Right 函数的语法具有下面的命名参数:
说明 欲知 string 的字符数,用 Len 函数。 注意 RightB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是指定返回的字符数。 返回一个包含随机数值的 Single。 语法 Rnd[(number)] 可选的 number 参数是 Single 或任何有效的数值表达式。 返回值
说明 Rnd 函数返回小于 1 但大于或等于 0 的值。 number 的值决定了 Rnd 生成随机数的方式。 对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。 在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。 为了生成某个范围内的随机整数,可使用以下公式:
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。 注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。 描述 返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。 语法 Round(expression [,numdecimalplaces]) Round函数语法有如下几部分:
返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一分钟之中的某个秒。 语法 Second(time) 必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含 Null,则返回 Null。 返回一个 Long,在 Open 语句打开的文件中指定当前的读/写位置。 语法 Seek(filenumber) 必要的 filenumber 参数是一个包含有效文件号的 Integer。 说明 Seek 函数返回介于 1 和 2,147,483,647(相当于 2^31 - 1)之间的值。 对各种文件访问方式的返回值如下:
返回一个 Variant (Integer),指出参数的正负号。 语法 Sgn(number) 必要的 number 参数是任何有效的数值表达式。 返回值
说明 number 参数的符号决定了 Sgn 函数的返回值。 执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。 语法 Shell(pathname[,windowstyle]) Shell 函数的语法含有下面这些命名参数:
windowstyle 命名参数有以下这些值:
说明 如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误。 注意 缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。 返回一 Double,指定参数的 sine(正弦)值。 语法 Sin(number) 必要的 number 参数是 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。 说明 Sin 函数取一角度为参数值,并返回角的对边长度除以斜边长度的比值。 结果的取值范围在 -1 到 1 之间。 为了将角度转换为弧度,请将角度乘以 pi /180。为了将弧度转换为角度,请将弧度乘以 180/pi。 返回一个 Double,在一期里指定一项资产的直线折旧。 语法 SLN(cost, salvage, life) SLN 函数有下列命名参数:
说明 折旧期间必须用与 life 参数相同的单位表示。所有参数都必须是正数。 返回特定数目空格的 Variant (String)。 语法 Space(number) 必要的 number 参数为字符串中想要的空格数。 说明 Space 函数在格式输出或清除固定长度字符串数据时很有用。 与 Print # 语句或 Print 方法一起使用,对输出进行定位。 语法 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(expression[, delimiter[, count[, compare]]]) Split函数语法有如下几部分:
设置值 compare参数的设置值如下:
返回一个 Double,指定参数的平方根。 语法 Sqr(number) 必要的 number 参数 number 是 Double 或任何有效的大于或等于 0 的数值表达式。 返回代表一数值的 Variant (String)。 语法 Str(number) 必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。 说明 当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。 使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。 注意 Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。 返回 Variant (Integer),为字符串比较的结果。 语法 StrComp(string1, string2[, compare]) StrComp 函数的语法有下面的命名参数:
设置 compare 参数设置为:
返回值 StrComp 函数有下列返回值:
返回按指定类型转换的 Variant (String)。 语法 StrConv(string, conversion, LCID) StrConv 函数的语法有下面的命名参数:
设置值 conversion 参数的设置值为:
*应用到远东国别。 **仅应用到日本。 注意 这些常数是由 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(string1) 参数string1是一个字符串,它的字符顺序要被反向。如果string1是一个长度为零的字符串(""),则返回一个长度为零的字符串。如果string1为Null,则产生一个错误。 返回 Variant (String),其中包含指定长度重复字符的字符串。 语法 String(number, character) String 函数的语法有下面的命名参数:
说明 如果指定 character 的数值大于 255,String 会按下面的公式将其转为有效的字符码: character Mod 256 计算一组表达式列表的值,然后返回与表达式列表中最先为 True 的表达式所相关的 Variant 数值或表达式。 语法 Switch(expr-1, value-1[, expr-2, value-2 _ [, expr-n,value-n]]) Switch 函数的语法具有以下几个部分:
说明 Switch 函数的参数列表由多对表达式和数值组成。表达式是由左至右加以计算的,而数值则会在第一个相关的表达式为 True 时返回。如果其中有部分不成对,则会产生一个运行时错误。如果 expr-1 为 True 则 Switch 返回 value-1,如果 expr-1 为 False,但 expr-2 为 True,则 Switch 返回 value-2,以此类推。 Switch 会返回一个 Null值,如果:
虽然它只返回其中的一个值,但是 Switch 会计算所有的表达式。因此应该注意到所产生的副作用。例如,只要其中一个表达式导致被零除错误,就会发生错误。 返回一个 Double,指定某项资产在一指定期间用年数总计法计算的折旧。 语法 SYD(cost, salvage, life, period) SYD 函数有下列命名参数:
说明 必须用相同的单位表示 life 和 period 参数。例如,如果 life 用月份表示,则 period 也必须用月份表示。所有参数都必须是正数。 与 Print # 语句或 Print 方法一起使用,对输出进行定位。 语法 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 则占据少于一个定宽的列。 返回一个 Double 的值,指定一个角的正切值。 语法 Tan(number) 必要的 number 参数是 Double 或任何有效的数值表达式,表示一个以弧度为单位的角度。 说明 Tan 取一角度为参数值,并返回直角的两条邻边的比值。该比值是角的对边长度除以角的邻边长度的商。 为了将角度转换为弧度,请将角度乘以 pi/180/180。为了将弧度转换为角度,请将弧度乘以 180/pi。 返回一个指明当前系统时间的 Variant (Date)。 语法 Time 说明 为了设置系统时间,请使用 Time 语句。 返回一个 Single,代表从午夜开始到现在经过的秒数。 语法 Timer 说明 Microsoft Windows中,Timer函数返回一秒的小数部分。 返回一个 Variant (Date),包含具有具体时、分、秒的时间。 语法 TimeSerial(hour, minute, second) TimeSerial 函数语法有下列的命名参数:
说明 为了指定一个时刻,如 11:59:59,TimeSerial 的参数取值应在正常范围内;也就是说,钟点应介于 0-23 之间,而分钟与秒应介于
0-59 之间。但是,当一个数值表达式表示某时刻之前或其后的时、分钟或秒数时,也可以为每个使用这个数值表达式的参数指定相对时间。以下示例中使用了表达式代替绝对时间数。TimeSerial
函数返回中午之前六小时 (
当任何一个参数的取值超出正常范围时,它会适时进位到下一个较大的时间单位。例如,如果指定了 75(75 分钟),则这个时间被解释成一小时又十五分。如果一个参数值超出 -32,768 到 32,767 的范围,就会导致错误发生。如果三个参数指定的时间会使日期超出可接受的日期范围,则亦会导致错误发生。 返回一个包含时间的 Variant (Date)。 语法 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 小时制的时间格式。例如, 如果 time 参数包含日期信息,TimeValue 将不会返回它。但是,若 time 包含无效的日期信息,则会导致错误发生。 每个函数都可以强制将一个表达式转换成某种特定数据类型。 语法 CBool(expression) 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 子类型。 返回一个 String,提供有关变量的信息。 语法 TypeName(varname) 必要的 varname 参数是一个 Variant,它包含用户定义类型变量之外的任何变量。 说明 TypeName 所返回的字符串可以是下面列举的任何一个字符串:
如果 varname 是一个数组,则返回的字符串可以是任何一个后面添加了空括号的可能的返回字符串(或
Variant)。例如,如果 varname 是一个整数数组,则 TypeName
返回 " 返回一个 Long 型数据,其值为指定的数组维可用的最大下标。 语法 UBound(arrayname[, dimension]) UBound 函数的语法包含下面部分:
说明 UBound 函数与 LBound 函数一起使用,用来确定一个数组的大小。LBound 用来确定数组某一维的上界。 对具有下述维数的数组而言,UBound 的返回值见下表:
返回 Variant (String),其中包含转成大写的字符串。 语法 UCase(string) 必要的 string 参数为任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 说明 只有小写的字母会转成大写;原本大写或非字母的字符保持不变。 返回包含于字符串内的数字,字符串中是一个适当类型的数值。 语法 Val(string) 必要的 string 参数可以是任何有效的字符串表达式. 说明 Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号
下面的返回值为 1615198:
在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。
注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。 返回一个 Integer,指出变量的子类型。 语法 VarType(varname) 必要的 varname 参数是一个 Variant,包含用户定义类型变量之外的任何变量。 返回值
注意 这些常数是由 Visual Basic 为应用程序指定的。这些名称可以在程序代码中到处使用,以代替实际值。 说明 VarType 函数自身从不对 vbArray 返回值。VarType 总是要加上一些其他值来指出一个具体类型的数组。常数 vbVariant 只与 vbArray 一起返回,以表明 VarType 函数的参数是一个 Variant 类型的数组。例如,对一个整数数组的返回值是 vbInteger + vbArray,或 8194。如果一个对象有缺省属性,则 VarType (object) 返回对象缺省属性的类型。 返回一个 Variant (Integer),包含一个整数,代表某个日期是星期几。 语法 Weekday(date, [firstdayofweek]) Weekday 函数语法有下列的命名参数:
设置 firstdayofweek 参数有以下设定值:
返回值 Weekday 函数可以返回以下诸值:
描述 返回一个字符串,表示一星期中的某天。 语法 WeekdayName(weekday, abbreviate, firstdayofweek) WeekdayName函数语法有如下几部分:
设置值 firstdayofweek参数值如下:
返回 Variant (Integer),包含表示年份的整数。 语法 Year(date) 必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。 |