|
Visual Basic 函数速查
函数 ( I-Q )
根据表达式的值,来返回两部分中的其中一个。 语法 IIf(expr, truepart, falsepart) IIf 函数的语法含有下面这些命名参数:
说明 由于 IIf 会计算 truepart 和 falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果 falsepart 产生一个被零除错误,那么程序就会发生错误,即使 expr 为 True。 返回一个 Integer,用来指定当前 Microsoft Windows 的输入法 (IME) 方式;只对东亚区版本有效。 语法 IMEStatus 返回值 下面是日本国别的返回值:
下面是韩国地区的返回值:
下面是中文地区的返回值:
返回 String,它包含以 Input 或 Binary 方式打开的文件中的字符。 语法 Input(number, [#]filenumber) Input 函数的语法具有以下几个部分:
说明 通常用 Print # 或 Put 将 Input 函数读出的数据写入文件。Input 函数只用于以 Input 或 Binary 方式打开的文件。 与 Input # 语句不同,Input 函数返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。 对于 Binary 访问类型打开的文件,如果试图用 Input 函数读出整个文件,则会在 EOF 返回 True 时产生错误。在用 Input 读出二进制文件时,要用 LOF 和 Loc 函数代替 EOF 函数,而在使用 EOF 函数时要配合以 Get 函数。 注意 对于文本文件中包含的字节数据要使用 InputB 函数。对于 InputB 来说,number 指定的是要返回的字节个数,而不是要返回的字符个数。 在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。 语法 InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) InputBox 函数的语法具有以下几个命名参数:
说明 如果同时提供了 helpfile 与 context,用户可以按 F1 来查看与 context 相应的帮助主题。某些主应用程序,例如,Microsoft Excel,会在对话框中自动添加一个 Help 按钮。如果用户单击 OK 或按下ENTER ,则 InputBox 函数返回文本框中的内容。如果用户单击 Cancel,则此函数返回一个长度为零的字符串 ("")。 注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 InputBox。如果要省略某些位置参数,则必须加入相应的逗号分界符。 返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。 语法 InStr([start, ]string1, string2[, compare]) InStr 函数的语法具有下面的参数:
设置 compare 参数设置为:
返回值
说明 InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。 描述 返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。 语法 InstrRev(string1, string2[, start[, compare]]) InstrRev函数语法有如下几部分:
设置值 compare参数值如下:
返回值 InStrRev返回值如下:
说明 请注意,InstrRev函数的语法和Instr函数的语法不相同。 返回参数的整数部分。 语法 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)
返回一个 Double,指定在一段时间内对定期定额支付且利率固定的年金所支付的利息值。 语法 IPmt(rate, per, nper, pv[, fv[, type]]) IPmt 函数有下列命名参数:
说明 年金是指在一段时间内的一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 返回一个 Double,指定一系列周期性现金流(支出或收入)的内部利率。 语法 IRR(values()[, guess]) IRR 函数有下列命名参数:
说明 返回的内部利率是在正常的时间间隔内,一笔含有支出及收入的投资得到的利率。 IRR 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入的顺序正确。每一时期的现金流不必像年金那样固定不变。 IRR 是利用叠代进行计算。先从 guess 的值开始,IRR 反复循环进行计算,直到精确度达到 0.00001%。如果经过 20 次反复叠代测试还不能得到结果,则 IRR 计算失败。 返回 Boolean 值,指出变量是否为一个数组。 语法 IsArray(varname) 必要的 varname 参数是一个指定变量的标识符。 说明 如果变量是数组,则 IsArray 返回 True;否则返回 False。对于包含数组的 variant 表达式来说,IsArray 尤为有用。 返回 Boolean 值,指出一个表达式是否可以转换成日期。 语法 IsDate(expression) 必要的 expression 参数是一个 Variant,包含日期表达式或字符串表达式,这里的字符串表达式是可以作为日期或时间来认定的。 说明 如果表达式是一个日期,或可以作为有效日期识别,则 IsDate 返回 True;否则返回 False。在 Microsoft Windows 中,有效日期的范围介于公元 100 年 1 月 1 日与公元 9999 年 12 月 31 日之间;其有效范围随操作系统不同而不同。 返回 Boolean 值,指出变量是否已经初始化。 语法 IsEmpty(expression) 必要的 expression 参数是一个 Variant,包含一个数值或字符串表达式。但是,因为 IsEmpty 被用来确定个别变量是否已初始化,所以 expression 参数通常是单一变量名。 说明 如果变量未初始化或已明确设置为 Empty,则 IsEmpty 返回 True;否则返回 False。如果 expression 含有多个变量,则 IsEmpty 总是返回 False。IsEmpty 只返回对 variant 表达式有意义的信息。返回 Boolean 值,指出表达式是否为一个错误值。 语法 IsError(expression) 必需的 expression 参数,可以是任何有效表达式。 说明 利用 CVErr 函数将实数转换成错误值就会建立错误值。IsError 函数被用来确定一个数值表达式是否表示一个错误。如果 expression 参数表示一个错误,则 IsError 返回 True;否则返回 False。 返回 Boolean 值,指出一个可选的 Variant 参数是否已经传递给过程。 语法 IsMissing(argname) 必要的 argname 参数包含一个可选的 Variant 过程参数名。 说明 使用 IsMissing 函数来检测在调用一个程序时是否提供了可选 Variant 参数。如果对特定参数没有传递值过去,则 IsMissing 返回 True;否则返回 False。如果 IsMissing 对某个参数返回 True,则在其它代码中使用这个丢失的参数将产生一个用户自定义的错误。如果对 ParamArray 参数使用 IsMissing,则函数总是返回 False。为了检测空的 ParamArray,可试看一下数组的上界是否小于它的下界。 注意 IsMissing 对简单数据类型(例如 Integer或Double)不起作用,因为与Variants不同,它们没有“丢失”标志位的前提。正由于此,对于可选参数类型,可以指定缺省值。如果调用过程时,参数被忽略,则该参数将具有该缺省值,如下列示例中所示:
在许多情况下,如果用户从函数调用中忽略,则可以通过使缺省值等于希望 返回 Boolean 值,指出表达式是否不包含任何有效数据 (Null)。 语法 IsNull(expression) 必要的 expression 参数是一个 Variant,其中包含数值表达式或字符串表达式。 说明 如果 expression 为 Null,则 IsNull 返回 True;否则 IsNull 返回 False。如果 expression 由多个变量组成,则表达式的任何作为变量组成成分的 Null 都会使整个表达式返回 True。 Null 值指出 Variant 不包含有效数据。Null 与 Empty 不同,后者指出变量尚未初始化。Null 与长度为零的字符串 (““) 也不同,长度为零的字符串指的是空串。 重要 使用 IsNull 函数是为了确定表达式是否包含
Null 值的。在某些情况下,希望表达式取值为 True,比如希望 返回 Boolean 值,指出表达式的运算结果是否为数。 语法 IsNumeric(expression) 必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。 说明 如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False。 如果 expression 是日期表达式,则 IsNumeric 返回 False。 返回 Boolean 值,指出标识符是否表示对象变量。 语法 IsObject(identifier) 必要的 identifier 参数是一个变量名。 说明 IsObject 只用于确定 Variant 是否属于 VarType vbObject。如果 Variant 实际引用(或曾经引用过)一个对象,或者如果 Variant 包含 Nothing,则可能出现这种情况。 如果 identifier 是 Object类型或任何有效的类类型,或者,如果 identifier 是 VarType vbObject 的 Variant 或用户自定义的对象,则 IsObject 返回 True;否则返回 False。即使变量已设置成 Nothing,IsObject 也仍返回 True。 使用错误捕获方法可以确认对象引用是否有效。 描述 返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。 语法 Join(list[, delimiter]) Join函数语法有如下几部分:
返回一个 Long 型数据,其值为指定数组维可用的最小下标。 语法 LBound(arrayname[, dimension]) LBound 函数的语法包含下面部分:
说明 LBound 函数与 UBound 函数一起使用,用来确定一个数组的大小。UBound 用来确定数组某一维的上界。 对具有下述维数的数组而言,LBound 的返回值见下表:
所有维的缺省下界都是 0 或 1,这取决于 Option Base 语句的设置。使用 Array 函数创建的数组的下界为 0;它不受 Option Base 的影响。 对于那些在 Dim 中用 To 子句来设定维数的数组而言,Private、Public、ReDim 或 Static 语句可以用任何整数作为下界。 返回转成小写的 String。 语法 LCase(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 说明 只有大写的字母会转成小写;所有小写字母和非字母字符保持不变。 返回 Variant (String),其中包含字符串中从左边算起指定数量的字符。 语法 Left(string, length) Left 函数的语法有下面的命名参数:
说明 欲知 string 的字符数,使用 Len 函数。 注意 LeftB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是要返回的字符数。 返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。 语法 Len(string | varname) Len 函数的语法有下面这些部分:
说明 两个可能的参数必须有其一(而且只能有其一)。如为用户定义类型,Len 会返回其写至文件的大小。 注意 LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。对于使用 LenB的示例代码,请参阅示例主题中的第二个示例。 注意 当在用户自定义数据类型中使用变长字符串时,Len 可能不能确定实际存储所需的字节数目。 返回一个 Long,在已打开的文件中指定当前读/写位置。 语法 Loc(filenumber) 必要的 filenumber 参数是任何一个有效的 Integer 文件号。 说明 Loc 函数对各种文件访问方式的返回值如下:
返回一个 Long,表示用 Open 语句打开的文件的大小,该大小以字节为单位。 语法 LOF(filenumber) 必要的 filenumber 参数是一个 Integer,包含一个有效的文件号。 注意 对于尚未打开的文件,使用 FileLen 函数将得到其长度。 返回一个 Double,指定参数的自然对数值。 语法 Log(number) 必要的 number 参数是 Double 或任何有效的大于 0 的数值表达式。 说明 自然对数是以 e 为底的对数。常数 e 的值大约是 2.718282。 如下所示,将 x 的自然对数值除以 n 的自然对数值,就可以对任意底 n 来计算数值 x 的对数值: Logn(x) = Log(x) / Log(n) 下面的示例说明如何编写一个函数来求以 10 为底的对数值:
返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白 (LTrim)、尾随空白 (RTrim) 或前导和尾随空白 (Trim)。 语法 LTrim(string) RTrim(string) Trim(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 返回 Variant (String),其中包含字符串中指定数量的字符。 语法 Mid(string, start[, length]) Mid 函数的语法具有下面的命名参数:
说明 欲知 string 的字符数,可用 Len 函数。 注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。 返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一小时中的某分钟。 语法 Minute(time) 必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含 Null,则返回 Null。 返回一个 Double,指定一系列修改过的周期性现金流(支出或收入)的内部利率。 语法 MIRR(values(), finance_rate, reinvest_rate) MIRR 函数有下列命名参数:
说明 修改过的返回内部利率是指在用不同的利率计算支出和收入时的内部利率。MIRR 函数既考虑投资成本 (finance_rate),也考虑现金再投资所得利率 (reinvest_rate)。 finance_rate 和 reinvest_rate 参数是用十进制数值表示的百分比。例如,0.12 表示百分之十二。 MIRR 函数用数组中的数值顺序来解释支付和收入的顺序。要确保支付和收入的输入顺序正确。 返回一个 Variant (Integer),其值为 1 到 12 之间的整数,表示一年中的某月。 语法 Month(date) 必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。 描述 返回一个表示指定月份的字符串。 语法 MonthName(month[, abbreviate]) MonthName函数语法有如下几部分:
在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。 语法 MsgBox(prompt[, buttons] [, title] [, helpfile, context]) MsgBox 函数的语法具有以下几个命名参数:
设置值 buttons 参数有下列设置值:
第一组值 (0-5) 描述了对话框中显示的按钮的类型与数目;第二组值 (16, 32, 48, 64) 描述了图标的样式;第三组值 (0, 256, 512) 说明哪一个按钮是缺省值;而第四组值 (0, 4096) 则决定消息框的强制返回性。将这些数字相加以生成 buttons 参数值的时候,只能由每组值取用一个数字。 注意 这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。 返回值
说明 在提供了 helpfile 与 context 的时候,用户可以按 F1 来查看与 context 相应的帮助主题。像 Microsoft Excel 这样一些主机应用程序也会在对话框中自动添加一个 Help 按钮。 如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。如果对话框中有 Help 按钮,则对话框中提供有上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。 注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 MsgBox。为了省略某些位置参数,必须加入相应的逗号分界符。 返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。 语法 Now 返回一个 Double,指定定期定额支付且利率固定的总期数。 语法 NPer(rate, pmt, pv[, fv[, type]]) NPer 函数有下列命名参数:
说明 年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 返回一个 Double,指定根据一系列定期的现金流(支付和收入)和贴现率而定的投资净现值。 语法 NPV(rate, values()) NPV 函数有下列命名参数:
说明 投资的净现值是未来一系列支付或收入的当前价值。 NPV 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入值是用正确的顺序输入的。 NPV 投资在第一笔现金流值之前开始计算周期,而结束于数组中最后的现金流值。 净现值是根据未来的现金流进行计算的。如果第一笔现金流在第一期开始时发生,那么 NPV 返回的值必须加上第一笔值才是净现值。而且 values() 数组不可包含第一笔值。 NPV 函数与 PV 函数(现值)相似,只是 PV 函数在一个期间的开始或结束时才允许有现金流。与可变的 NPV 现金流值不同,PV 的现金流在整个投资期间必须固定。 返回 Variant (String),代表一数值的八进制值。 语法 Oct(number) 必要的 number 参数为任何有效的数值表达式或字符串表达式。 说明 如果 number 尚非整数,那么在执行前会先四舍五入成最接近的整数。
可以将适当范围的数前缀以 返回一个 Variant (String),指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内。 语法 Partition(number, start, stop, interval) Partition 函数的语法含有下面这些命名参数:
说明 Partition 函数会标识 number 值出现的特定范围,并返回一个 Variant (String) 来描述这个范围。Partition 函数在查询中是最有用的。可以创建一个选择查询显示有多少定单落在几个变化的范围内,例如,定单数从 1 到 1000、1001 到 2000,以此类推。 下面的表格使用三组 start,stop 以及 interval 部分,来显示怎样决定这个范围。第一个范围和最后一个范围两列显示 Partition 的返回值,此范围的低端 (lowervalue) 和高端 (uppervalue) 是以冒号分开的。
从上面的表格中得知,在第三行中,由 start 和 stop 所定义的数值范围不能以 interval 来均分。所以,即使 interval 是 20,最后一个范围也只能扩展到stop(11 个数)。 如果需要的话,Partition 会在返回的范围中加上足够的空白,以便让返回值在冒号的左右两侧有相同的字符数,其值就是 stop 中的字符数再加一。如此可确保当要使用 Partition 与其它的数值作运算时,所得的字符串,可以在之后的排序操作中得到正确的结果。 如果 interval 是 1,则范围便是 number:number,而不管 start 和 stop 参数如何。比如说,如果 interval 是 1,number 是 100,而 stop 是 1000,则 Partition 会返回 " 100: 100"。 如果任何部分是 Null,则 Partition 会返回一个 Null。 返回一个 Double,指定根据定期定额支付且利率固定的年金支付额。 语法 Pmt(rate, nper, pv[, fv[, type]]) Pmt 函数有下列命名参数:
说明 年金是在一段时间内一系列固定现金支付,年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 返回一个 Double,指定在定期定额支付且利率固定的年金的指定期间内的本金偿付额。 语法 PPmt(rate, per, nper, pv[, fv[, type]]) PPmt 函数有下列命名参数:
说明 年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。 返回一个 Double 指定在未来定期、定额支付且利率固定的年金现值。 语法 PV(rate, nper, pmt[, fv[, type]]) PV 函数有下列命名参数:
说明 年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,现金支出(如储蓄存款)用负数表示,而现金收入(如红利支票)用正数表示。 返回一个 Long,用来表示所对应颜色值的 RGB 颜色码。 语法 QBColor(color) 必要的 color 参数是一个界于 0 到 15 的整型。 设置值 color 参数有以下这些设置:
说明 color 参数代表使用于早期版本的 Basic(诸如 Microsoft Visual Basic for MS-DOS 以及 Basic Compiler)的颜色值。始于最低有效字节,返回值指定了红、绿、蓝三原色的值,用于设置成 VBA中RGB 系统的对应颜色。 |