测试笔记 » 日志 » .net 数学函数 字符函数 转换函数
.net 数学函数 字符函数 转换函数
Noel 发表于 2007-09-06 16:51:18
Abs 已重载。返回指定数字的绝对值。
Acos 返回余弦值为指定数字的角度。
Asin 返回正弦值为指定数字的角度。
Atan 返回正切值为指定数字的角度。
Atan2 返回正切值为两个指定数字的商的角度。
Ceiling 返回大于或等于指定数字的最小整数。
Cos 返回指定角度的余弦值。
Cosh 返回指定角度的双曲余弦值。
Exp 返回 e 的指定次幂。
Floor 返回小于或等于指定数字的最大整数。
IEEERemainder 返回一指定数字被另一指定数字相除的余数。
Log 已重载。返回指定数字的对数。
Log10 返回指定数字以 10 为底的对数。
Max 已重载。返回两个指定数字中较大的一个。
Min 已重载。返回两个数字中较小的一个。
Pow 返回指定数字的指定次幂。
Round 已重载。返回最接近指定值的数字。
Sign 已重载。返回表示数字符号的值。
Sin 返回指定角度的正弦值。
Sinh 返回指定角度的双曲正弦值。
Sqrt 返回指定数字的平方根。
Tan 返回指定角度的正切值。
Tanh 返回指定角度的双曲正切值。
使用数学函数
System.Math 类中定义了用于数学计算的函数。Math 类包括三角函数、对数函数和其他常用数学函数。下列函数是在 System 名称空间的 Math 类中定义的函数。
注意:要使用这些函数,请通过在源代码顶部添加以下代码将 System.Math 名称空间导入到项目中:
Imports System.Math
Abs
Abs 函数返回指定数值的绝对值。
Abs 示例:
本示例使用 Math 类的 Abs 方法来计算一个数值的绝对值。
' Code will not compile unless it is put in a Sub or in a Function.
Dim MyNumber As Double
MyNumber = Abs(50.3) ' Returns 50.3.
MyNumber = Abs(-50.3) ' Returns 50.3.
Atan
Atan 函数返回包含角度的 Double 值。该角度的正切值是指定的数值。返回值为正表示角度在 X 轴的逆时针方向上。返回值为负表示顺时针角度。将返回值乘以 180/Pi (π) 可以从弧度转换为角度。
Atan 示例:
本示例使用 Math 类的 Atan 方法来计算 Pi 值。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim pi As Double
pi = 4 * Atan(1) ' Calculate the value of pi.
Cos
Cos 函数以弧度表示的角度作为参数,然后返回一个 Double 值,表示指定角度的余弦值。
Cos 示例:
本示例使用 Math 类的 Cos 方法返回角度的余弦值。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MyAngle, MySecant As Double
MyAngle = 1.3 ' Define angle in radians.
MySecant = 1 / Cos(MyAngle) ' Calculate secant.
Exp
Exp 函数返回一个 Double 值,包含 e(自然对数的底)的指定乘幂。使用 Pow 方法可计算其他底的乘幂。Exp 是 Log 的逆运算。
Exp 示例:
本示例使用 Math 类的 Exp 方法返回 e 的乘幂。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MyAngle, MyHSin As Double
' Define angle in radians.
MyAngle = 1.3
' Calculate hyperbolic sine.
MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2
Log
Log 函数返回一个 Double 值,包含一个指定数值的对数。该方法已重载,可以返回指定数值的自然(底数 e)对数或指定数值的指定底对数。
Log 示例:
本示例使用 Math 类的 Log 方法返回一个数值的自然对数。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MyAngle, MyLog As Double
' Define angle in radians.
MyAngle = 1.3
' Calculate inverse hyperbolic sine.
MyLog = Log(MyAngle + Sqrt(MyAngle * MyAngle + 1))
Round
Round 函数返回一个 Double 值,包含与指定值最接近的数值。其他 Round 函数可用作内部类型的方法,如 Decimal.Round 方法。
Round 示例:
本示例使用 Math 类的 Round 方法将一个数值四舍五入为最接近的整数。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MyVar1 As Double = 2.8
Dim MyVar2 As Double
MyVar2 =Round(MyVar1) ' Returns 3.
Sign
Sign 函数返回一个指示某个数值的正负号的整数值。下面的表格显示了函数及其返回值的输入参数:
|
指定数 |
返回值 |
|
正数 |
1 |
|
负数 |
-1 |
|
零 |
0 |
Sign 示例:
本示例使用 Math 类的 Sign 方法确定一个数值的正负号。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MyVar1, MyVar2, MyVar3 As Double
Dim MySign As Integer
MyVar1 = 12
MyVar2 = -2.4
MyVar3 = 0
MySign = Sign(MyVar1) ' Returns 1.
MySign = Sign(MyVar2) ' Returns -1.
MySign = Sign(MyVar3) ' Returns 0.
Sin
Sin 函数以弧度表示的角度作为参数,然后返回一个 Double 值,指定该角度的正弦值。
Sin 示例:
本示例使用 Math 类的 Sin 方法返回一个角度的正弦值。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MyAngle, MyCosecant As Double
MyAngle = 1.3 ' Define angle in radians.
MyCosecant = 1 / Sin(MyAngle) ' Calculate cosecant.
Sqrt
Sqrt 函数返回一个 Double 值,指定一个指定数值的平方根。
Sqrt 示例:
本示例使用 Math 类的 Sqrt 方法计算一个数值的平方根。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MySqr As Double
MySqr = Sqrt(4) ' Returns 2.
MySqr = Sqrt(23) ' Returns 4.79583152331272.
MySqr = Sqrt(0) ' Returns 0.
MySqr = Sqrt(-4) ' Returns NaN (not a number).
Tan
Tan 函数返回一个 Double 值,包含指定角度的正切值。Tan 函数以弧度表示的角度作为参数。当指定的角度是 NaN、NegativeInfinity 或 PositiveInfinity 时,该方法将返回 NaN。
注意:乘以 π/180 可以将角度转换为弧度。
Tan 示例:
本示例使用 Math 类的 Tan 方法返回一个角度的正切值。
' Code is not compiled unless it is put in a Sub or in a Function.
Dim MyAngle, MyCotangent As Double
MyAngle = 1.3 ' Define angle in radians.
MyCotangent = 1 / Tan(MyAngle) ' Calculate cotangent.
将一个值从一种数据类型更改为另一种数据类型的过程称为转换。转换或者是扩大或者是收缩,这取决于所涉及的类型的数据容量。公共语言运行库支持扩大转换和收缩转换两种。例如,以 32 位有符号整数形式表示的值可以转换为 64 位有符号整数。这是一个扩大转换的示例。相反的转换(从 64 位到 32 位)是一个收缩转换的示例。使用扩大转换信息永远不会丢失。但是,使用收缩转换信息可能会丢失。
以下是 Visual Basic .NET 中定义的类型转换函数:
CBool
CBool 函数用于将字符串表达式或数值表达式转换为 Boolean 值。当表达式计算为一个非零值时,CBool 函数将返回 True。否则,该函数返回 False。
CBool 示例:
Dim A, B, C As Integer
Dim Check As Boolean
A = 5
B = 5
Check = CBool(A = B) ' Check is set to True.
C = 0
Check = CBool(C) ' Check is set to False.
CByte
CByte 函数将指定数值转换为字节。输入参数必须是 0 到 255 之间的一个数值。否则,将出现 System.OverflowException。
CByte 示例:
Dim MyDouble As Double
Dim MyByte As Byte
MyDouble = 125.5678
MyByte = CByte(MyDouble) ' MyByte is set to 126.
CChar
CChar 函数仅转换指定字符串的第一个字符。CChar 的输入参数必须是数据类型的字符串。无法使用 CChar 将数值转换为字符,因为 CChar 无法接受 Numeric 数据类型。
CChar 示例:
本示例使用 CChar 函数将字符串表达式的第一个字符转换为 Char 类型。
Dim MyString As String
Dim MyChar As Char
MyString = "BCD" ' CChar converts only the first character of the string.
MyChar = CChar(MyString) ' MyChar is set to "B".
CDate
CDate 接受日期和时间的任何有效表示方式,然后将其转换为 Date 值。
CDate 示例:
本示例使用 CDate 函数将字符串转换为 Date 值。
Dim MyDateString, MyTimeString As String
Dim MyDate, MyTime As Date
MyDateString = "February 12, 1969"
MyTimeString = "4:35:47 PM"
' ...
MyDate = CDate(MyDateString) ' Convert to Date data type.
MyTime = CDate(MyTimeString) ' Convert to Date data type.
CDbl
CDbl 函数用于将数值表达式转换为 Double 值。对于负值,该函数的输入参数必须在 -4.94065645841247E-324 到 -1.79769313486231E+308 之间。对于正值,该函数的输入参数必须在 1.79769313486231E+308 到 4.94065645841247E-324 之间。
CDbl 示例:
Dim MyDec As Decimal
Dim MyDouble As Double
MyDec = 234.456784D ' Literal type character D makes MyDec a Decimal.
MyDouble = CDbl(MyDec * 8.2D * 0.01D) ' Convert result to a Double.
CDec
CDec 函数将数值转换为小数。
CDec 示例:
Dim MyDouble As Double
Dim MyDecimal As Decimal
MyDouble = 10000000.0587
MyDecimal = CDec(MyDouble) ' Convert to Decimal.
CInt
CInt 函数将数值转换为整数。
CInt 示例:
Dim MyDouble As Double
Dim MyInt As Integer
MyDouble = 2345.5678
MyInt = CInt(MyDouble) ' MyInt is set to 2346.
CLng
CLng 函数以一个数值作为参数,然后返回一个 Long 值。
CLng 示例:
Dim MyDbl1, MyDbl2 As Double
Dim MyLong1, MyLong2 As Long
MyDbl1 = 25427.45
MyDbl2 = 25427.55
MyLong1 = CLng(MyDbl1) ' MyLong1 contains 25427.
MyLong2 = CLng(MyDbl2) ' MyLong2 contains 25428.
CObj
CObj 函数将数值转换为对象。
CObj 示例:
Dim MyDouble As Double
Dim MyObject As Object
MyDouble = 2.7182818284
MyObject = CObj(MyDouble) ' Double value is pointed to by MyObject.
CShort
CShort 函数将数值转换为 Short 值。
CShort 示例:
Dim MyByte as Byte
Dim MyShort as Short
MyByte = 100
MyShort = CShort(MyByte) ' Convert to Short.
CSng
CSng 函数将数值转换为 Single 值。
CSng 示例:
Dim MyDouble1, MyDouble2 As Double
Dim MySingle1, MySingle2 As Single
MyDouble1 = 75.3421105
MyDouble2 = 75.3421567
MySingle1 = CSng(MyDouble1) ' MySingle1 is set to 75.34211.
MySingle2 = CSng(MyDouble2) ' MySingle2 is set to 75.34216.
CStr
下面的表格显示了 CStr 函数的输入参数和返回值:
|
输入参数数据类型 |
返回值 |
|
Boolean |
包含 True 或 False 的字符串 |
|
Date |
包含以系统的短日期格式表示的 Date 值(日期和时间)的字符串 |
|
数值 |
表示数字的字符串 |
CStr 示例:
本示例使用 CStr 函数将数值转换为字符串。
Dim MyDouble As Double
Dim MyString As String
MyDouble = 437.324
MyString = CStr(MyDouble) ' MyString is set to "437.324".
不同的类中都定义有字符串函数。这些类包括 Microsoft.VisualBasic.Strings 类和 System.String 类。
返回页首
使用 Microsoft.VisualBasic.Strings 类中的字符串函数
下列函数是 Microsoft.VisualBasic.Strings 类中定义的字符串函数。
注意:要使用字符串函数,请通过在源代码开始处添加以下代码将名称空间 Microsoft.VisualBasic.Strings 导入到项目中:
Imports Microsoft.VisualBasic.Strings
Asc 和 AscW
Asc 函数和 AscW 函数返回一个整数值,表示与指定的字符相对应的字符代码。这两个函数接受任何有效的字符表达式或字符串表达式作为参数。当字符串是输入参数时,则仅输入字符串的第一个字符。当字符串不包含任何字符时,将出现 ArgumentException 错误。Asc 返回输入字符的代码数据点或字符代码。对于单字节字符集 (SBCS) 值,返回值可以是 0 到 255 之间的数字。对于双字节字符集 (DBCS) 值,返回值可以是 -32768 到 32767 之间的数字。AscW 为输入字符返回 0 到 65535 之间的 Unicode 代码数据点。
例如:
Dim MyInt As Integer
MyInt = Asc("A") ' MyInt is set to 65.
MyInt = Asc("a") ' MyInt is set to 97.
MyInt = Asc("Apple") ' MyInt is set to 65.
Chr 和 ChrW
Chr 函数和 ChrW 函数返回与指定的字符代码相关联的字符。当 CharCode 超出 -32768 到 65535 的范围时,将出现 ArgumentException 错误。
例如:
本示例使用 Chr 函数返回与指定的字符代码相关联的字符。
Dim MyChar As Char
MyChar = Chr(65) ' Returns "A".
MyChar = Chr(97) ' Returns "a".
MyChar = Chr(62) ' Returns ">".
MyChar = Chr(37) ' Returns "%".
GetChar
GetChar 函数返回一个 Char 值,表示指定字符串的指定索引中的字符。当索引小于 1 或大于指定输入参数中最后一个字符的索引时,将出现 ArgumentException 错误。
例如:
本示例显示了如何使用 GetChar 函数从字符串的指定索引中返回字符。
Dim myString As String = "ABCDE"
Dim myChar As Char
myChar = GetChar(myString, 4) ' myChar = "D"
InStr
InStr 函数返回一个整数,指定一个字符串在另一个字符串中首次出现的起始位置。
例如:
以下示例使用 InStr 函数返回一个字符串在另一个字符串中首次出现的位置:
Dim SearchString, SearchChar As String
Dim MyPos As Integer
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = InStr(4, SearchString, SearchChar, CompareMethod.Text)
Join
Join 函数返回一个字符串,该字符串是通过连接数组中包含的子字符串创建的。包含必须连接的子字符串的一维数组将作为参数传递给 Join 函数。该函数使用 Delimiter、String 作为可选参数来分隔返回的字符串中的子字符串。当省略 Delimiter 时,将使用空格(“ ”)作为子字符串之间的分隔符。当 Delimiter 是零长度字符串 ("") 时,数组中的子字符串将不使用分隔符,而是直接相连。
例如:
以下示例显示了如何使用 Join 函数:
Dim myItem(2) As String
Dim myShoppingList As String
myItem(0) = "Pickle"
myItem(1) = "Pineapple"
myItem(2) = "Papaya"
' Returns "Pickle, Pineapple, Papaya"
myShoppingList = Join(myItem, ", ")
LCase
LCase 函数返回已经转换为小写的字符串或字符。只有大写字母被转换为小写。所有小写字母和非字母字符均保持不变。
例如:
以下示例使用 LCase 函数返回字符串的小写形式:
Dim UpperCase, LowerCase As String
Uppercase = "Hello WORLD 1234" ' String to convert.
Lowercase = LCase(UpperCase) ' Returns "hello world 1234".
LTrim、RTrim 和 Trim
这些函数会返回一个包含指定字符串的副本的字符串。在使用 LTrim 时,没有起始空格。在使用 RTrim 时,没有尾随空格。在使用 Trim 时,既没有起始空格也没有尾随空格。
例如:
以下示例使用 LTrim 函数删除字符串变量中的起始空格,使用 RTrim 函数删除字符串变量中的尾随空格,以及使用 Trim 函数删除字符串变量中的起始空格和尾随空格:
Dim MyString, TrimString As String
MyString = " <-Trim-> " ' Initializes string.
TrimString = LTrim(MyString) ' TrimString = "<-Trim-> ".
TrimString = RTrim(MyString) ' TrimString = " <-Trim->".
TrimString = LTrim(RTrim(MyString)) ' TrimString = "<-Trim->".
' Using the Trim function alone achieves the same result.
TrimString = Trim(MyString) ' TrimString = "<-Trim->".
Replace
Replace 函数返回一个字符串,其中指定的子字符串按指定的次数替换为另一个子字符串。Replace 函数的返回值是一个字符串,该字符串在 Start 参数指定的位置开始,然后在指定字符串的末尾以 Find 参数和 Replace 参数中的值所指定的替换内容结束。
例如:
本示例演示了 Replace 函数:
Dim myString As String = "Shopping List"
Dim aString As String
' Returns "Shipping List".
aString = Replace(myString, "o", "i")
StrComp
StrComp 函数返回 -1、0 或 1。这将基于字符串比较的结果。字符串将从第一个字符开始按字母数字顺序排列的值进行比较。
例如:
以下示例使用 StrComp 函数返回字符串比较的结果。如果省略第三个参数,则使用选项比较语句或项目默认设置中定义的比较类型。
Dim MyStr1, MyStr2 As String
Dim MyComp As Integer
MyStr1 = "ABCD"
MyStr2 = "abcd" ' Defines variables.
' The two strings sort equally. Returns 0.
MyComp = StrComp(MyStr1, MyStr2, CompareMethod.Text)
' MyStr1 sorts after MyStr2. Returns -1.
MyComp = StrComp(MyStr1, MyStr2, CompareMethod.Binary)
' MyStr2 sorts before MyStr1. Returns 1.
MyComp = StrComp(MyStr2, MyStr1)
StrConv
StrConv 函数返回一个字符串,该字符串转换为输入参数中指定的值。StrConv 函数将转换字符串。这种转换基于 Conversion 参数中的值。Conversion 参数中的值是 VbStrConv 枚举的成员。
Conversion 参数的设置为:
|
枚举成员 |
说明 |
|
VbStrConv.None |
不执行转换 |
|
VbStrConv.LinguisticCasing |
- 使用语言规则而不是文件系统(默认值)来区分大小写 |
|
VbStrConv.UpperCase |
将字符串转换为大写字符 |
|
VbStrConv.LowerCase |
将字符串转换为小写字符 |
|
VbStrConv.ProperCase |
将字符串中每个单词的第一个字母转换为大写 |
例如:
以下示例将文本转换为小写字母:
Dim sText, sNewText As String
sText = "Hello World"
sNewText = StrConv(sText, VbStrConv.LowerCase)
Debug.WriteLine (sNewText) ' Outputs "hello world".
StrDup
StrDup 函数返回一个由指定的字符重复指定的次数而形成的字符串或对象。StrDup 函数具有两个参数:Number 参数和 Character 参数。Number 参数指定函数必须返回的字符串的长度。StrDup 函数仅使用 Character 参数中的第一个字符。Character 参数可以是 Char 数据类型、String 数据类型或 Object 数据类型。
例如:
以下示例使用 StrDup 函数返回由重复字符组成的字符串:
Dim aString As String = "Wow! What a string!"
Dim aObject As New Object()
Dim myString As String
aObject = "This is a String that is contained in an Object"
myString = StrDup(5, "P") ' Returns "PPPPP"
myString = StrDup(10, aString) ' Returns "WWWWWWWWWW"
myString = StrDup(6, aObject) ' Returns "TTTTTT"
StrReverse
StrReverse 函数返回一个字符串,该字符串将指定字符串的字符顺序颠倒过来。
例如:
Dim myString As String = "ABCDEFG"
Dim revString As String
' Returns "GFEDCBA".
revString = StrReverse(myString)
UCase
UCase 函数返回一个字符串或字符,包含已转换为大写的指定字符串。只有小写字母被转换为大写字母。所有大写字母和非字母字符均保持不变。
例如:
以下示例使用 UCase 函数返回字符串的大写形式:
Dim LowerCase, UpperCase As String
LowerCase = "Hello World 1234" ' String to convert.
UpperCase = UCase(LowerCase) ' Returns "HELLO WORLD 1234".
以下是 System 名称空间的 String 类中的字符串函数。
注意:要使用字符串函数,请通过在源代码开始处添加以下代码将 System.String 名称空间导入到项目中:
Imports System.String
Compare
Compare 函数比较输入参数中的两个字符串。通过使用单词排序规则来执行比较。发现不相等情况或比较完两个字符串后,比较将终止。
Compare 示例:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2 As String
s1 = "testexample"
s2 = "testex"
MsgBox(Compare(s2, s1)) 'Returns -1.
MsgBox(Compare(s1, s2)) 'Returns 1.
Concat
Concat 函数将一个或多个字符串相连接,然后返回连接后的字符串。
Concat 示例:
以下示例显示了如何使用 Concat 的重载版本:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2, sa(3) As String
sa(0) = "A"
sa(1) = "B"
sa(2) = "C"
s1 = "test"
s2 = "example"
s1 = Concat(s1, s2) 'Returns testexample.
MsgBox(s1)
MsgBox(Concat(sa)) 'Returns ABC.
Copy
Copy 函数将指定字符串中的值复制到另一个字符串中。
Copy 示例:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2 As String
s1 = "Hello World"
'Copy the string s1 to s2.
s2 = Copy(s1)
MsgBox(s2) 'Displays Hello World.
Remove
Remove 函数从指定字符串的指定位置开始删除指定数目的字符。Remove 函数有两个参数。分别是 StartIndex 参数和 Count 参数。Startindex 参数指定开始删除字符的字符串位置。Count 参数指定要删除的字符数。
Remove 示例:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2 As String
s1 = "Hello World"
'Removes 3 characters starting from character e.
s2 = s1.Remove(1, 3)
MsgBox(s2) 'Displays Hello World.
Substring
Substring 函数从指定字符串的指定位置开始检索字符串。
Substring 示例:
以下示例将从指定的字符位置开始并按指定的长度来检索子字符串:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2 As String
s1 = "Hello World"
s2 = s1.Substring(6, 5) 'Returns World.
MsgBox(s2)
ToCharArray
ToCharArray 函数将字符串中的字符复制到 Unicode 字符数组中。
ToCharArray 示例:
以下示例将指定位置中的字符复制到 Character 数组中:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1 As String
Dim ch(10) As Char
s1 = "Hello World"
'Copies the characters starting from W to d to a Character array.
ch = s1.ToCharArray(6, 5)
MsgBox(ch(3)) 'Displays l.
ToLower
ToLower 函数采用一个字符串作为参数,然后以小写形式返回该字符串的副本。
ToLower 示例:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2 As String
s1 = "Hello World"
s2 = s1.ToLower() 'Converts any uppercase characters to lowercase.
MsgBox(s2) 'Displays hello world.
ToUpper
ToUpper 函数采用一个字符串作为参数,然后以大写形式返回该字符串的副本。
ToUpper 示例:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2 As String
s1 = "Hello World"
s2 = s1.ToUpper() 'Converts any lowercase characters to uppercase.
MsgBox(s2) 'Displays HELLO WORLD.
Trim、TrimStart 和 TrimEnd
这些函数会返回一个包含指定字符串的副本的字符串。使用 Trim 函数时,既没有起始空格也没有尾随空格。使用 TrimStart 函数时,没有起始空格。使用 TrimEnd 函数时,没有尾随空格。
例如:
以下示例使用 TrimStart 函数删除字符串变量开始处的空格,使用 TrimEnd 函数删除字符串变量末尾的空格,以及使用 Trim 函数删除字符串变量中的起始空格和尾随空格:
' Code is not compiled unless it is put in a Sub or in a Function.
Dim s1, s2 As String
s1 = " Hello World "
s2 = s1.Trim() 'Returns Hello World without any white spaces.
s2 = s1.TrimStart 'Removes the spaces at the start.
s2 = s1.TrimEnd 'Removes the white spaces at the end.
有关函数的详细信息,请访问下面的 Microsoft Web 站点:
http://msdn.microsoft.com/library/en-us/vblr7/html/vaorifunctionsvba.asp
