您的位置:寻梦网首页编程乐园VB 编程乐园VB 函数速查
Visual Basic 函数速查
函数 ( I-Q )
IIf 函数
IMEStatus 函数
Input 函数
InputBox 函数
InStr 函数
InStrRev函数
Int、Fix 函数
IPmt 函数
IRR 函数
IsArray 函数
IsDate 函数
IsEmpty 函数
IsError 函数
IsMissing 函数
IsNull 函数
IsNumeric 函数
IsObject 函数
Join函数
LBound 函数
LCase 函数
Left 函数
Len 函数
Loc 函数
LOF 函数
Log 函数
LTrim、RTrim与 Trim 函数
Mid 函数
Minute 函数
MIRR 函数
Month 函数
MonthName函数
MsgBox 函数
Now 函数
NPer 函数
NPV 函数
Oct 函数
Partition 函数
Pmt 函数
PPmt 函数
PV 函数
QBColor 函数


IIf 函数

根据表达式的值,来返回两部分中的其中一个。

语法

IIf(expr, truepart, falsepart)

IIf 函数的语法含有下面这些命名参数:

部分 描述
expr 必要参数。用来判断真伪的表达式。
truepart 必要参数。如果 exprTrue,则返回这部分的值或表达式。
falsepart 必要参数。如果 exprFalse,则返回这部分的值或表达式。

说明

由于 IIf 会计算 truepart falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果 falsepart 产生一个被零除错误,那么程序就会发生错误,即使 exprTrue


IMEStatus 函数

返回一个 Integer,用来指定当前 Microsoft Windows 的输入法 (IME) 方式;只对东亚区版本有效。

语法

IMEStatus

返回值

下面是日本国别的返回值:

常数 描述
vbIMEModeNoControl 0 不控制IME(缺省)
vbIMEModeOn 1 打开 IME
vbIMEModeOff 2 关闭 IME
vbIMEModeDisable 3 IME 无效
vbIMEModeHiragana 4 完整宽度 Hiragana 模式
vbIMEModeKatakana 5 完整宽度 Katakana 片假名模式
vbIMEModeKatakanaHalf mode 6 半宽 Katakana 模式
vbIMEModeAlphaFull mode 7 完整宽度 Alphanumeric 模式
vbIMEModeAlpha mode 8 半宽 Alphanumeric 模式

下面是韩国地区的返回值:

常数 描述
vbIMEModeAlphaFull 7 完整宽度 Alphanumeric 模式
vbIMEModeAlpha 8 半宽 Alphanumeric 模式
vbIMEModeHangulFull 9 完整宽度 Hangul 模式
vbIMEModeHangul 10 半宽 Hangul 模式

下面是中文地区的返回值:

常数 描述
vbIMEModeNoControl 0 不控制IME(缺省)
vbIMEModeOn 1 打开 IME
vbIMEModeOff 2 关闭 IME


Input 函数

返回 String,它包含以 Input Binary 方式打开的文件中的字符。

语法

Input(number, [#]filenumber)

Input 函数的语法具有以下几个部分:

部分 描述
number 必要。任何有效的数值表达式,指定要返回的字符个数。
filenumber 必要。任何有效的文件号。

说明

通常用 Print #PutInput 函数读出的数据写入文件。Input 函数只用于以 Input Binary 方式打开的文件。

Input # 语句不同,Input 函数返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。

对于 Binary 访问类型打开的文件,如果试图用 Input 函数读出整个文件,则会在 EOF 返回 True 时产生错误。在用 Input 读出二进制文件时,要用 LOF Loc 函数代替 EOF 函数,而在使用 EOF 函数时要配合以 Get 函数。

注意 对于文本文件中包含的字节数据要使用 InputB 函数。对于 InputB 来说,number 指定的是要返回的字节个数,而不是要返回的字符个数。


InputBox 函数

在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。

语法

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

InputBox 函数的语法具有以下几个命名参数:

部分 描述
Prompt 必需的。作为对话框消息出现的字符串表达式。prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果 prompt 包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 来分隔。
Title 可选的。显示对话框标题栏中的字符串表达式。如果省略 title,则把应用程序名放入标题栏中。
Default 可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略 default则文本框为空。
Xpos 可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略 xpos,则对话框会在水平方向居中。
Ypos 可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果省略 ypos,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。
Helpfile 可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助。如果已提供 helpfile,则也必须提供 context
Context 可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号。如果已提供 context,则也必须要提供 helpfile

说明

如果同时提供了 helpfilecontext,用户可以按 F1 来查看与 context 相应的帮助主题。某些主应用程序,例如,Microsoft Excel,会在对话框中自动添加一个 Help 按钮。如果用户单击 OK 或按下ENTER ,则 InputBox 函数返回文本框中的内容。如果用户单击 Cancel,则此函数返回一个长度为零的字符串 ("")。

注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 InputBox。如果要省略某些位置参数,则必须加入相应的逗号分界符。


InStr 函数

返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

语法

InStr([start, ]string1, string2[, compare])

InStr 函数的语法具有下面的参数:

部分 说明
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare 可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compareOption Compare 的设置将决定比较的类型。

设置

 compare 参数设置为:

常数 描述
vbUseCompareOption -1 使用Option Compare 语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库中信息的比较。

返回值

如果 InStr返回
string1 为零长度 0
string1 Null Null
string2 为零长度 Start
string2Null Null
string2 找不到 0
在 string1 中找到string2 找到的位置
start > string2 0

说明

InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。


InStrRev函数

描述

返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。

语法

InstrRev(string1, string2[, start[, compare]])

InstrRev函数语法有如下几部分:

部分 描述
string1 必需的。要执行搜索的字符串表达式。
string2 必需的。要搜索的字符串表达式。
start 可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则使用–1,它表示从上一个字符位置开始搜索。如果 start 包含 Null,则产生一个错误。

compare 可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。关于其值,请参阅“设置值”部分。

设置值

compare参数值如下:

常数 描述
vbUseCompareOption –1 Option Compare语句的设置值来执行比较。
vbBinaryCompare  0 执行二进制比较。
vbTextCompare  1 执行文字比较。
vbDatabaseCompare  2 只用于Microsoft Access。基于您的数据库信息执行比较。

返回值

InStrRev返回值如下:

如果 InStrRev返回
string1长度为零。 0
string1Null Null
string2长度为零 Start
string2Null Null
string2没有找到。 0
string2string1中找到 找到匹配字符串的位置。
start > Len(string2) 0

说明

请注意,InstrRev函数的语法和Instr函数的语法不相同。


Int、Fix 函数

返回参数的整数部分。

语法

Int(number)

Fix(number)

必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返回 Null

说明

IntFix 都会删除 number 的小数部份而返回剩下的整数。

IntFix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。

Fix(number)

Sgn(number) * Int(Abs(number))

IPmt 函数

返回一个 Double,指定在一段时间内对定期定额支付且利率固定的年金所支付的利息值。

语法

IPmt(rate, per, nper, pv[, fv[, type]])

IPmt 函数有下列命名参数:

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百分之十且按月付款的汽车贷款,则每一期的利率为 0.1/12,或 0.0083。
per 必要。Double 指定在 nper 间范围 1 中的付款周期。
nper 必要。Double 指定一笔年金的付款总期数。例如,如果在一笔为期四年的汽车贷款中选择按月付款方式,则贷款共有 4 * 12(或 48)个付款期。
pv 必要。Double,指定未来一系列付款或收款的现值。例如,当借钱买汽车时,向贷方所借金额为将来每月偿付给贷方款项的现值。
fv 可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。
type 可选。Variant 指定贷款到期时间。如果贷款在贷款周期结束时到期,请使用 0。如果贷款在周期开始时到期,请使用 1。如果省略的话,缺省值为 0。

说明

年金是指在一段时间内的一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。

在支付期间必须用相同的单位计算 ratenper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。

对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。


IRR 函数

返回一个 Double,指定一系列周期性现金流(支出或收入)的内部利率。

语法

IRR(values()[, guess])

IRR 函数有下列命名参数:

部分 描述
values() 必要。Double 数组,指定现金流值。此数组必须至少含有一个负值(支付)和一个正值(收入)。
guess 可选。Variant,指定 IRR 返回的估算值。如果省略,guess 为 0.1 (10%)。

说明

返回的内部利率是在正常的时间间隔内,一笔含有支出及收入的投资得到的利率。

IRR 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入的顺序正确。每一时期的现金流不必像年金那样固定不变。

IRR 是利用叠代进行计算。先从 guess 的值开始,IRR 反复循环进行计算,直到精确度达到 0.00001%。如果经过 20 次反复叠代测试还不能得到结果,则 IRR 计算失败。


IsArray 函数

返回 Boolean 值,指出变量是否为一个数组。

语法

IsArray(varname)

必要的 varname 参数是一个指定变量的标识符。

说明

如果变量是数组,则 IsArray 返回 True;否则返回 False。对于包含数组的 variant 表达式来说,IsArray 尤为有用。


IsDate 函数

返回 Boolean 值,指出一个表达式是否可以转换成日期。

语法

IsDate(expression)

必要的 expression 参数是一个 Variant,包含日期表达式或字符串表达式,这里的字符串表达式是可以作为日期或时间来认定的。

说明

如果表达式是一个日期,或可以作为有效日期识别,则 IsDate 返回 True;否则返回 False。在 Microsoft Windows 中,有效日期的范围介于公元 100 年 1 月 1 日与公元 9999 年 12 月 31 日之间;其有效范围随操作系统不同而不同。


IsEmpty 函数

返回 Boolean 值,指出变量是否已经初始化。

语法

IsEmpty(expression)

必要的 expression 参数是一个 Variant,包含一个数值或字符串表达式。但是,因为 IsEmpty 被用来确定个别变量是否已初始化,所以 expression 参数通常是单一变量名。

说明

如果变量未初始化或已明确设置为 Empty,则 IsEmpty 返回 True;否则返回 False。如果 expression 含有多个变量,则 IsEmpty 总是返回 FalseIsEmpty 只返回对 variant 表达式有意义的信息。

IsError 函数

返回 Boolean 值,指出表达式是否为一个错误值。

语法

IsError(expression)

必需的 expression 参数,可以是任何有效表达式。

说明

利用 CVErr 函数将实数转换成错误值就会建立错误值。IsError 函数被用来确定一个数值表达式是否表示一个错误。如果 expression 参数表示一个错误,则 IsError 返回 True;否则返回 False


IsMissing 函数

返回 Boolean 值,指出一个可选的 Variant 参数是否已经传递给过程。

语法

IsMissing(argname)

必要的 argname 参数包含一个可选的 Variant 过程参数名。

说明

使用 IsMissing 函数来检测在调用一个程序时是否提供了可选 Variant 参数。如果对特定参数没有传递值过去,则 IsMissing 返回 True;否则返回 False。如果 IsMissing 对某个参数返回 True,则在其它代码中使用这个丢失的参数将产生一个用户自定义的错误。如果对 ParamArray 参数使用 IsMissing,则函数总是返回 False。为了检测空的 ParamArray,可试看一下数组的上界是否小于它的下界。

注意   IsMissing 对简单数据类型(例如 IntegerDouble)不起作用,因为与Variants不同,它们没有“丢失”标志位的前提。正由于此,对于可选参数类型,可以指定缺省值。如果调用过程时,参数被忽略,则该参数将具有该缺省值,如下列示例中所示:

Sub MySub(Optional MyVar As String = "specialvalue")
    If MyVar = "specialvalue" Then
       ' MyVar 被忽略。
    Else
    ...
End Sub

在许多情况下,如果用户从函数调用中忽略,则可以通过使缺省值等于希望 MyVar 所包含的值来完全忽略 If MyVar 测试。这将使您的代码更简洁有效。


IsNull 函数

返回 Boolean 值,指出表达式是否不包含任何有效数据 (Null)。

语法

IsNull(expression)

必要的 expression 参数是一个 Variant,其中包含数值表达式或字符串表达式。

说明

如果 expressionNull,IsNull 返回 True;否则 IsNull 返回 False。如果 expression 由多个变量组成,则表达式的任何作为变量组成成分的 Null 都会使整个表达式返回 True

Null 值指出 Variant 不包含有效数据。Null 与 Empty 不同,后者指出变量尚未初始化。Null 与长度为零的字符串 (““) 也不同,长度为零的字符串指的是空串。

重要 使用 IsNull 函数是为了确定表达式是否包含 Null 值的。在某些情况下,希望表达式取值为 True,比如希望 If Var = NullIf Var <> Null 取值为 True,而它们总取值为 False。这是因为任何包含 Null 的表达式本身就是 Null,所以为 False


IsNumeric 函数

返回 Boolean 值,指出表达式的运算结果是否为数。

语法

IsNumeric(expression)

必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。

说明

如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False

如果 expression 是日期表达式,则 IsNumeric 返回 False


IsObject 函数

返回 Boolean 值,指出标识符是否表示对象变量。

语法

IsObject(identifier)

必要的 identifier 参数是一个变量名。

说明

IsObject 只用于确定 Variant 是否属于 VarType vbObject。如果 Variant 实际引用(或曾经引用过)一个对象,或者如果 Variant 包含 Nothing,则可能出现这种情况。

如果 identifier 是 Object类型或任何有效的类类型,或者,如果 identifierVarType vbObject Variant 或用户自定义的对象,则 IsObject 返回 True;否则返回 False。即使变量已设置成 NothingIsObject 也仍返回 True

使用错误捕获方法可以确认对象引用是否有效。


Join函数

描述

返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。

语法

Join(list[, delimiter])

Join函数语法有如下几部分:

部分 描述
list 必需的。包含被连接子字符串的一维数组。
delimiter 可选的。在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用空格(" ")来分隔子字符串。如果delimiter是零长度字符串(""),则列表中的所有项目都连接在一起,中间没有分隔符。

LBound 函数

返回一个 Long 型数据,其值为指定数组维可用的最小下标。

语法

LBound(arrayname[, dimension])

LBound 函数的语法包含下面部分:

部分 描述
arrayname 必需的。数组变量的名称,遵循标准的变量命名约定。
dimension 可选的;Variant (Long)。指定返回哪一维的下界。1 表示第一维,2 表示第二维,以此类推。如果省略 dimension,就认为是 1。

说明

LBound 函数与 UBound 函数一起使用,用来确定一个数组的大小。UBound 用来确定数组某一维的上界。

对具有下述维数的数组而言,LBound 的返回值见下表:

Dim A(1 To 100, 0 To 3, -3 To 4)
语句 返回值
LBound(A, 1) 1
LBound(A, 2) 0
LBound(A, 3) -3

所有维的缺省下界都是 0 或 1,这取决于 Option Base 语句的设置。使用 Array 函数创建的数组的下界为 0;它不受 Option Base 的影响。

对于那些在 Dim 中用 To 子句来设定维数的数组而言,Private、Public、ReDim Static 语句可以用任何整数作为下界。


LCase 函数

返回转成小写的 String。

语法

LCase(string)

必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。

说明

只有大写的字母会转成小写;所有小写字母和非字母字符保持不变。


Left 函数

返回 Variant (String),其中包含字符串中从左边算起指定数量的字符。

语法

Left(string, length)

Left 函数的语法有下面的命名参数:

部分 说明
string 必要参数。字符串表达式其中最左边的那些字符将被返回。如果 string 包含 Null,将返回 Null。
length 必要参数;为 Variant (Long)。数值表达式,指出将返回多少个字符。如果为 0,返回零长度字符串 ("")。如果大于或等于 string 的字符数,则返回整个字符串。

说明

欲知 string 的字符数,使用 Len 函数。

注意    LeftB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是要返回的字符数。


Len 函数

返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。

语法

Len(string | varname)

Len 函数的语法有下面这些部分:

部分 说明
string 任何有效的字符串表达式。如果 string 包含 Null,会返回 Null。
Varname 任何有效的变量名称。如果 varname 包含 Null,会返回 Null。如果 varname 是 Variant,Len 会视其为 String 并且总是返回其包含的字符数。

说明

两个可能的参数必须有其一(而且只能有其一)。如为用户定义类型,Len 会返回其写至文件的大小。

注意   LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。对于使用 LenB的示例代码,请参阅示例主题中的第二个示例。

注意 当在用户自定义数据类型中使用变长字符串时,Len 可能不能确定实际存储所需的字节数目。


Loc 函数

返回一个 Long,在已打开的文件中指定当前读/写位置。

语法

Loc(filenumber)

必要的 filenumber 参数是任何一个有效的 Integer 文件号。

说明

Loc 函数对各种文件访问方式的返回值如下:

方式 返回值
Random 上一次对文件进行读出或写入的记录号。
Sequential 文件中当前字节位置除以 128 的值。但是,对于顺序文件而言,不会使用 Loc 的返回值,也不需要使用 Loc 的返回值。
Binary 上一次读出或写入的字节位置。


LOF 函数

返回一个 Long,表示用 Open 语句打开的文件的大小,该大小以字节为单位。

语法

LOF(filenumber)

必要的 filenumber 参数是一个 Integer,包含一个有效的文件号。

注意 对于尚未打开的文件,使用 FileLen 函数将得到其长度。


Log 函数

返回一个 Double,指定参数的自然对数值。

语法

Log(number)

必要的 number 参数是 Double 或任何有效的大于 0 的数值表达式。

说明

自然对数是以 e 为底的对数。常数 e 的值大约是 2.718282。

如下所示,将 x 的自然对数值除以 n 的自然对数值,就可以对任意底 n 来计算数值 x 的对数值:

Logn(x) = Log(x) / Log(n)

下面的示例说明如何编写一个函数来求以 10 为底的对数值:

Static Function Log10(X)
   Log10 = Log(X) / Log(10#)
End Function

LTrim、RTrim与 Trim 函数

返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白 (LTrim)、尾随空白 (RTrim) 或前导和尾随空白 (Trim)。

语法

LTrim(string)

RTrim(string)

Trim(string)

必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null


Mid 函数

返回 Variant (String),其中包含字符串中指定数量的字符。

语法

Mid(string, start[, length])

Mid 函数的语法具有下面的命名参数:

部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")
length 可选参数;为 Variant (Long)。要返回的字符数如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。

说明

欲知 string 的字符数,可用 Len 函数。

注意   MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。


Minute 函数

返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一小时中的某分钟。

语法

Minute(time)

必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含 Null,则返回 Null


MIRR 函数

返回一个 Double,指定一系列修改过的周期性现金流(支出或收入)的内部利率。

语法

MIRR(values(), finance_rate, reinvest_rate)

MIRR 函数有下列命名参数:

部分 描述
values() 必要。Double 数组,指定现金流值。此数组至少要包含一个负值(支付)和一个正值(收入)。
finance_rate 必要。Double 指定财务成本上的支付利率。
reinvest_rate 必要。Double 指定由现金再投资所得利率。

说明

修改过的返回内部利率是指在用不同的利率计算支出和收入时的内部利率。MIRR 函数既考虑投资成本 (finance_rate),也考虑现金再投资所得利率 (reinvest_rate)。

finance_ratereinvest_rate 参数是用十进制数值表示的百分比。例如,0.12 表示百分之十二。

MIRR 函数用数组中的数值顺序来解释支付和收入的顺序。要确保支付和收入的输入顺序正确。


Month 函数

返回一个 Variant (Integer),其值为 1 到 12 之间的整数,表示一年中的某月。

语法

Month(date)

必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null


MonthName函数

描述

返回一个表示指定月份的字符串。

语法

MonthName(month[, abbreviate])

MonthName函数语法有如下几部分:

部分 描述
month 必需的。月份的数值表示。例如一月是1,二月是2,等等。
abbreviate 可选的。Boolean值,表示月份名是否缩写。如果忽略,缺省值为False,表明月份名不能被缩写。


MsgBox 函数

在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。

语法

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

MsgBox 函数的语法具有以下几个命名参数:

部分 描述
Prompt 必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。
Buttons 可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。
Title 可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。
Helpfile 可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context
Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile

设置值

buttons 参数有下列设置值:

常数 描述
vbOKOnly 0 只显示 OK 按钮。
VbOKCancel 1 显示 OKCancel 按钮。
VbAbortRetryIgnore 2 显示 AbortRetryIgnore 按钮。
VbYesNoCancel 3 显示 YesNoCancel 按钮。
VbYesNo 4 显示 YesNo 按钮。
VbRetryCancel 5 显示 RetryCancel 按钮。
VbCritical 16 显示 Critical Message 图标。
VbQuestion 32 显示 Warning Query 图标。
VbExclamation 48 显示 Warning Message 图标。
VbInformation 64 显示 Information Message 图标。
vbDefaultButton1 0 第一个按钮是缺省值。
vbDefaultButton2 256 第二个按钮是缺省值。
vbDefaultButton3 512 第三个按钮是缺省值。
vbDefaultButton4 768 第四个按钮是缺省值。
vbApplicationModal 0 应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。
vbSystemModal 4096 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
vbMsgBoxHelpButton 16384 将Help按钮添加到消息框
VbMsgBoxSetForeground 65536 指定消息框窗口作为前景窗口
vbMsgBoxRight 524288 文本为右对齐
vbMsgBoxRtlReading 1048576 指定文本应为在希伯来和阿拉伯语系统中的从右到左显示

第一组值 (0-5) 描述了对话框中显示的按钮的类型与数目;第二组值 (16, 32, 48, 64) 描述了图标的样式;第三组值 (0, 256, 512) 说明哪一个按钮是缺省值;而第四组值 (0, 4096) 则决定消息框的强制返回性。将这些数字相加以生成 buttons 参数值的时候,只能由每组值取用一个数字。

注意 这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。

返回值

常数 描述
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Abort
vbRetry 4 Retry
vbIgnore 5 Ignore
vbYes 6 Yes
vbNo 7 No

说明

在提供了 helpfilecontext 的时候,用户可以按 F1 来查看与 context 相应的帮助主题。像 Microsoft Excel 这样一些主机应用程序也会在对话框中自动添加一个 Help 按钮。

如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。如果对话框中有 Help 按钮,则对话框中提供有上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。

注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 MsgBox。为了省略某些位置参数,必须加入相应的逗号分界符。


Now 函数

返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。

语法

Now


NPer 函数

返回一个 Double,指定定期定额支付且利率固定的总期数。

语法

NPer(rate, pmt, pv[, fv[, type]])

NPer 函数有下列命名参数:

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百分之十并按月付款的汽车贷款,则每一期的利率为 0.1/12 或 0.0083。
pmt 必要。Double 指定每一期所付金额。付款金额通常包含本金和利息,且付款金额在年金的有效期间不变。
pv 必要。Double 指定未来一系列付款或收款的现值。例如,当贷款买一辆汽车时,向贷方所借贷的金额为将来每月偿付给贷方款项的现值。
fv 可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。
type 可选。Variant 指定贷款到期时间。如果贷款是在贷款周期结束时到期,请使用 0,如果贷款是在周期开始时到期,请使用 1。如果省略的话,缺省值为 0。

说明

年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。

对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。


NPV 函数

返回一个 Double,指定根据一系列定期的现金流(支付和收入)和贴现率而定的投资净现值。

语法

NPV(rate, values())

NPV 函数有下列命名参数:

部分 描述
rate 必要。Double 指定在一期间内的贴现率,用十进制表示。
values() 必要。Double 数组 指定现金流值。此数组至少要包含一个负值(支付)和一个正值(收入)。

说明

投资的净现值是未来一系列支付或收入的当前价值。

NPV 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入值是用正确的顺序输入的。

NPV 投资在第一笔现金流值之前开始计算周期,而结束于数组中最后的现金流值。

净现值是根据未来的现金流进行计算的。如果第一笔现金流在第一期开始时发生,那么 NPV 返回的值必须加上第一笔值才是净现值。而且 values() 数组不可包含第一笔值。

NPV 函数与 PV 函数(现值)相似,只是 PV 函数在一个期间的开始或结束时才允许有现金流。与可变的 NPV 现金流值不同,PV 的现金流在整个投资期间必须固定。


Oct 函数

返回 Variant (String),代表一数值的八进制值。

语法

Oct(number)

必要的 number 参数为任何有效的数值表达式或字符串表达式。

说明

如果 number 尚非整数,那么在执行前会先四舍五入成最接近的整数。

如果 number Oct 返回
Null Null
Empty 零 (0)
任何其他的数字 最多可到 11 个八进制字符。

可以将适当范围的数前缀以 &O 来直接表示八进制数字。例如,八进制表示法的 &O10 代表十进制的 8。


Partition 函数

返回一个 Variant (String),指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内。

语法

Partition(number, start, stop, interval)

Partition 函数的语法含有下面这些命名参数:

部分 描述
number 必要参数。整数,在所有范围中判断这个整数是否出现。
start 必要参数。整数,数值范围的开始值,这个数值不能小于 0。
stop 必要参数。整数,数值范围的结束值,这个数值不能等于或小于 start

说明

Partition 函数会标识 number 值出现的特定范围,并返回一个 Variant (String) 来描述这个范围。Partition 函数在查询中是最有用的。可以创建一个选择查询显示有多少定单落在几个变化的范围内,例如,定单数从 1 到 1000、1001 到 2000,以此类推。

下面的表格使用三组 startstop 以及 interval 部分,来显示怎样决定这个范围。第一个范围和最后一个范围两列显示 Partition 的返回值,此范围的低端 (lowervalue) 和高端 (uppervalue) 是以冒号分开的。

start stop interval 第一个范围之前 第一个范围 最后一个范围 最后一个范围之后
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

从上面的表格中得知,在第三行中,由 startstop 所定义的数值范围不能以 interval 来均分。所以,即使 interval 是 20,最后一个范围也只能扩展到stop(11 个数)。

如果需要的话,Partition 会在返回的范围中加上足够的空白,以便让返回值在冒号的左右两侧有相同的字符数,其值就是 stop 中的字符数再加一。如此可确保当要使用 Partition 与其它的数值作运算时,所得的字符串,可以在之后的排序操作中得到正确的结果。

如果 interval 是 1,则范围便是 number:number,而不管 startstop 参数如何。比如说,如果 interval 是 1,number 是 100,而 stop 是 1000,则 Partition 会返回 "  100:  100"。

如果任何部分是 Null,则 Partition 会返回一个 Null


Pmt 函数

返回一个 Double,指定根据定期定额支付且利率固定的年金支付额。

语法

Pmt(rate, nper, pv[, fv[, type]])

Pmt 函数有下列命名参数:

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分比率 (APR) 为百分之十且按月付款的汽车贷款,则每一期的利率为 0.1/12 或 0.0083。
nper 必要。Integer 指定一笔年金的付款总期数。例如,如果对一笔为期四年的汽车贷款选择按月付款,则贷款共有 4 * 12(或 48)个付款期。
pv 必要。Double 指定未来一系列付款或收款的现值。例如,当贷款买一辆汽车时,向贷方所借贷的金额为将来每月偿付给贷方款项的现值。
fv 可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。
type 可选。Variant,指定贷款到期时间。如果贷款是在贷款周期结束时到期,请使用 0。如果贷款是在周期开始时到期,则请使用 1。如果省略的话,缺省值为 0。

说明

年金是在一段时间内一系列固定现金支付,年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。

在支付期间必须用相同的单位计算 ratenper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。

对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。


PPmt 函数

返回一个 Double,指定在定期定额支付且利率固定的年金的指定期间内的本金偿付额。

语法

PPmt(rate, per, nper, pv[, fv[, type]])

PPmt 函数有下列命名参数:

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分比率 (APR) 为百分之十且按月付款的汽车贷款,则每一期的利率为 0.1/12 或 0.0083。
per 必要。Integer 指定在 nper 间范围 1 中的付款周期。
nper 必要。Integer 指定一笔年金的付款总期数。例如,如果对一笔为期四年的汽车贷款选择按月付款,则贷款共有 4 * 12(或 48)个付款期。
pv 必要。Double 指定未来一系列付款或收款的现值。例如,当贷款买一辆汽车时,向贷方所借贷的金额为将来每月偿付给贷方款项的现值。
fv 可选。Variant 指定在付清贷款后所希望的未来值或现金结存值。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。
type 可选。Variant 指定贷款到期时间。如果贷款是在贷款周期结束时到期,则请使用 0。如果贷款是在周期开始时到期,则请使用 1。如果省略的话,缺省值为 0。

说明

年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。

在支付期间必须用相同的单位计算 ratenper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。

对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。


PV 函数

返回一个 Double 指定在未来定期、定额支付且利率固定的年金现值。

语法

PV(rate, nper, pmt[, fv[, type]])

PV 函数有下列命名参数:

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分比率 (APR) 为百分之十且按月付款的汽车贷款,则每一期的利率为 0.1/12 或 0.0083。
nper 必要。Integer 指定一笔年金的付款总期数。例如,如果对一笔为期四年的汽车贷款选择按月付款,则贷款共有 4 * 12(或 48)个付款期。
pmt 必要。Double 指定每一期的付款金额。付款金额通常包含本金和利息,且此付款金额在年金的有效期间不变。
fv 可选。Variant,指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。
type 可选。Variant 指定贷款到期时间。如果贷款是在贷款周期结束时到期,则请使用 0。如果贷款是在周期开始时到期,则请使用 1。如果省略的话,缺省值为 0。

说明

年金是在一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。

在支付期间必须用相同的单位计算 ratenper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。

对所有参数,现金支出(如储蓄存款)用负数表示,而现金收入(如红利支票)用正数表示。


QBColor 函数

返回一个 Long,用来表示所对应颜色值的 RGB 颜色码。

语法

QBColor(color)

必要的 color 参数是一个界于 0 到 15 的整型。

设置值

color 参数有以下这些设置:

颜色 颜色
0 黑色 8 灰色
1 兰色 9 亮兰色
2 绿色 10 亮绿色
3 青色 11 亮青色
4 红色 12 亮红色
5 洋红色 13 亮洋红色
6 黄色 14 亮黄色
7 白色 15 亮白色

说明

color 参数代表使用于早期版本的 Basic(诸如 Microsoft Visual Basic for MS-DOS 以及 Basic Compiler)的颜色值。始于最低有效字节,返回值指定了红、绿、蓝三原色的值,用于设置成 VBA中RGB 系统的对应颜色。