一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

access vba函數(shù)

 昵稱2548375 2018-09-24

access vba函數(shù)
Abs 函數(shù)
返回參數(shù)的絕對(duì)值,其類(lèi)型和參數(shù)相同。

語(yǔ)法

Abs(number)

必要的 number 參數(shù)是任何有效的數(shù)值表達(dá)式,如果 number 包含 Null,則返回 Null,如果 number 是未初始化的變量,則返回 0。

說(shuō)明

一個(gè)數(shù)的絕對(duì)值是將正負(fù)號(hào)去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。

Array 函數(shù)
返回一個(gè)包含數(shù)組的 Variant。

語(yǔ)法

Array(arglist)

所需的 arglist 參數(shù)是一個(gè)用逗號(hào)隔開(kāi)的值表,這些值用于給 Variant 所包含的數(shù)組的各元素賦值。如果不提供參數(shù),則創(chuàng)建一個(gè)長(zhǎng)度為 0 的數(shù)組。

說(shuō)明

用來(lái)表示數(shù)組元素的符號(hào)由變量名、圓括號(hào)以及括號(hào)中的所需元素的索引號(hào)組成。在下面的示例中,第一條語(yǔ)句創(chuàng)建一個(gè) Variant 的變量 A。第二條語(yǔ)句將一個(gè)數(shù)組賦給變量 A。最后一條語(yǔ)句將該數(shù)組的第二個(gè)元素的值賦給另一個(gè)變量。

Dim A As Variant
A = Array(10,20,30)
B = A(2)

使用 Array 函數(shù)創(chuàng)建的數(shù)組的下界受 Option Base 語(yǔ)句指定的下界的決定, 除非 Array 是由類(lèi)型庫(kù)(例如 VBA.Array )名稱限定。如果是由類(lèi)型庫(kù)名稱限定,則 Array 不受 Option Base 的影響。

注意 沒(méi)有作為數(shù)組聲明的 Variant 也可以表示數(shù)組。除了長(zhǎng)度固定的字符串以及用戶定義類(lèi)型之外,Variant 變量可以表示任何類(lèi)型的數(shù)組。盡管一個(gè)包含數(shù)組的 Variant 和一個(gè)元素為 Variant 類(lèi)型的數(shù)組在概念上有所不同,但對(duì)數(shù)組元素的訪問(wèn)方式是相同的。

Asc 函數(shù)
返回一個(gè) Integer,代表字符串中首字母的字符代碼。

語(yǔ)法

Asc(string)

必要的 string 參數(shù)可以是任何有效的字符串表達(dá)式。如果 string 中沒(méi)有包含任何字符,則會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。

說(shuō)明

在非 DBCS 系統(tǒng)下,返回值范圍為 0 – 255 。在 DBCS 系統(tǒng)下,則為 -32768 – 32767。

注意 AscB 函數(shù)作用于包含在字符串中的字節(jié)數(shù)據(jù),AscB 返回第一個(gè)字節(jié)的字符代碼,而非字符的字符代碼。AscW 函數(shù)返回 Unicode 字符代碼,若平臺(tái)不支持 Unicode,則與 Asc 函數(shù)功能相同。

Atn 函數(shù)
返回一個(gè) Double,指定一個(gè)數(shù)的反正切值。

語(yǔ)法

Atn(number)

必要的 number 參數(shù)是一個(gè) Double或任何有效的數(shù)值表達(dá)式。

說(shuō)明

Atn 函數(shù)的參數(shù)值 (number) 為直角三角形兩邊的比值并返回以弧度為單位的角。這個(gè)比值是角的對(duì)邊長(zhǎng)度除以角的鄰邊長(zhǎng)度之商。

值的范圍在 -pi/2 和 pi/2 弧度之間。

為了將角度轉(zhuǎn)換為弧度,請(qǐng)將角度乘以 pi/180。為了將弧度轉(zhuǎn)換為角度,請(qǐng)將弧度乘以 180/pi。

注意 Atn 是 Tan 的反三角函數(shù),Tan 的參數(shù)值為角度,返回直角三角形的兩條邊的比值。不要將 Atn 和余切函數(shù)混淆,余切函數(shù)值是正切函數(shù)值的倒數(shù),cotangent = (1/tangent)。

CallByName 函數(shù)
執(zhí)行一個(gè)對(duì)象的方法,或者設(shè)置或返回一個(gè)對(duì)象的屬性。

語(yǔ)法

CallByName(object, procname, calltype,[args()])

CallByName 函數(shù)的語(yǔ)法有以下命名參數(shù):

部分 描述
object 必需的;變體型(對(duì)象)。函數(shù)將要執(zhí)行的對(duì)象的名稱。
procname 必需的;變體型(字符串)。一個(gè)包含該對(duì)象的屬性名稱或者方法名稱的字符串表達(dá)式。
calltype 必需的;常數(shù)。一個(gè) vbCallType 類(lèi)型的常數(shù),代表正在被調(diào)用的過(guò)程的類(lèi)型。
args() 可選的:變體型(數(shù)組)。
 
說(shuō)明

CallByName 函數(shù)用于獲取或者設(shè)置一個(gè)屬性,或者在運(yùn)行時(shí)使用一個(gè)字符串名稱來(lái)調(diào)用一個(gè)方法。

在下面的例子中,第一行使用 CallByName 來(lái)設(shè)置一個(gè)文本框的 MousePointer 屬性,第二行得到 MousePointer 屬性的值,第三行調(diào)用 Move 方法來(lái)移動(dòng)文本框:

CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
類(lèi)型轉(zhuǎn)換函數(shù)
每個(gè)函數(shù)都可以強(qiáng)制將一個(gè)表達(dá)式轉(zhuǎn)換成某種特定數(shù)據(jù)類(lèi)型。

語(yǔ)法
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 參數(shù)可以是任何字符串表達(dá)式或數(shù)值表達(dá)式。

返回類(lèi)型
函數(shù)名稱決定返回類(lèi)型,如下所示:

函數(shù) 返回類(lèi)型 expression 參數(shù)范圍
CBool Boolean 任何有效的字符串或數(shù)值表達(dá)式。
CByte Byte 0 至 255。
CCur Currency -922,337,203,685,477.5808 至922,337,203,685,477.5807。
CDate Date 任何有效的日期表達(dá)式。
CDbl Double 負(fù)數(shù)從 -1.79769313486231E308 至 -4.94065645841247E-324;正數(shù)從 4.94065645841247E-324 至 1.79769313486232E308。
CDec Decimal 零變比數(shù)值,即無(wú)小數(shù)位數(shù)值,為
+/-79,228,162,514,264,337,593,543,950,335。對(duì)于 28 位小數(shù)的數(shù)值,范圍則為
+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。
CInt Integer -32,768 至 32,767,小數(shù)部分四舍五入。
CLng Long -2,147,483,648 至 2,147,483,647,小數(shù)部分四舍五入。
CSng Single 負(fù)數(shù)為 -3.402823E38 至 -1.401298E-45;正數(shù)為 1.401298E-45 至 3.402823E38。
CStr String 依據(jù) expression 參數(shù)返回 Cstr。
CVar Variant 若為數(shù)值,則范圍與 Double 相同;若不為數(shù)值,則范圍與 String 相同。

說(shuō)明
如果傳遞給函數(shù)的 expression 超過(guò)轉(zhuǎn)換目標(biāo)數(shù)據(jù)類(lèi)型的范圍,將發(fā)生錯(cuò)誤。

通常,在編碼時(shí)可以使用數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù),來(lái)體現(xiàn)某些操作的結(jié)果應(yīng)該表示為特定的數(shù)據(jù)類(lèi)型,而不是缺省的數(shù)據(jù)類(lèi)型。例如,當(dāng)單精度、雙精度或整數(shù)運(yùn)算發(fā)生的情況下,使用 CCur 來(lái)強(qiáng)制執(zhí)行貨幣運(yùn)算。

應(yīng)該使用數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)來(lái)代替 Val,以使國(guó)際版的數(shù)據(jù)轉(zhuǎn)換可以從一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種。例如,當(dāng)使用 Ccur 時(shí),不同的小數(shù)點(diǎn)分隔符、千分位分隔符和各種貨幣選項(xiàng),依據(jù)系統(tǒng)的區(qū)域設(shè)置都會(huì)被妥善識(shí)別。

當(dāng)小數(shù)部分恰好為 0.5 時(shí),Cint 和 CLng 函數(shù)會(huì)將它轉(zhuǎn)換為最接近的偶數(shù)值。例如,0.5 轉(zhuǎn)換為 0、1.5 轉(zhuǎn)換為 2。Cint 和 CLng 函數(shù)不同于 Fix 和 Int 函數(shù),F(xiàn)ix 和 Int 函數(shù)會(huì)將小數(shù)部分截?cái)喽皇撬纳嵛迦搿2⑶?Fix 和 Int 函數(shù)總是返回與傳入的數(shù)據(jù)類(lèi)型相同的值。

使用 IsDate 函數(shù),可判斷 date 是否可以被轉(zhuǎn)換為日期或時(shí)間。Cdate 可用來(lái)識(shí)別日期文字和時(shí)間文字,以及落入可接受的日期范圍內(nèi)的數(shù)值。當(dāng)轉(zhuǎn)換一個(gè)數(shù)字成為日期時(shí),是將整數(shù)部分轉(zhuǎn)換為日期,小數(shù)部分轉(zhuǎn)換為從午夜起算的時(shí)間。

CDate 依據(jù)系統(tǒng)上的區(qū)域設(shè)置來(lái)決定日期的格式。如果提供的格式為不可識(shí)別的日期設(shè)置,則不能正確判斷年、月、日的順序。另外,長(zhǎng)日期格式,若包含有星期的字符串,也不能被識(shí)別。

CVDate 函數(shù)也提供對(duì)早期 Visual Basic 版本的兼容性。CVDate 函數(shù)的語(yǔ)法與 CDate 函數(shù)是完全相同的,不過(guò),CVDate 是返回一個(gè) Variant,它的子類(lèi)型是 Date,而不是實(shí)際的 Date 類(lèi)型。因?yàn)楝F(xiàn)在已有真正的 Date 類(lèi)型,所以 CVDate 也不再需要了。轉(zhuǎn)換一個(gè)表達(dá)式成為 Date,再賦值給一個(gè) Variant,也可以達(dá)到同樣的效果。也可以使用這種技巧將其他真正的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為對(duì)等的 Variant 子類(lèi)型。

注意 CDec 函數(shù)不能返回獨(dú)立的數(shù)據(jù)類(lèi)型,而總是返回一個(gè) Variant,它的值已經(jīng)被轉(zhuǎn)換為 Decimal 子類(lèi)型。

Choose 函數(shù)
從參數(shù)列表中選擇并返回一個(gè)值。

語(yǔ)法

Choose(index, choice-1[, choice-2, ... [, choice-n]])

Choose 函數(shù)的語(yǔ)法具有以下幾個(gè)部分:

部分 描述
index 必要參數(shù),數(shù)值表達(dá)式或字段,它的運(yùn)算結(jié)果是一個(gè)數(shù)值,且界于 1 和可選擇的項(xiàng)目數(shù)之間。
choice 必要參數(shù),Variant 表達(dá)式,包含可選擇項(xiàng)目的其中之一。

說(shuō)明

Choose 會(huì)根據(jù) index 的值來(lái)返回選擇項(xiàng)列表中的某個(gè)值。如果 index 是 1,則 Choose 會(huì)返回列表中的第 1 個(gè)選擇項(xiàng)。如果 index 是 2,則會(huì)返回列表中的第 2 個(gè)選擇項(xiàng),以此類(lèi)推。

可以使用 Choose 來(lái)查閱一個(gè)列表中的項(xiàng)目。例如,如果 index 所指定的值為 3,而 choice-1 = "one"、choice-2 = "two"、且 choice-3 = "three",那么 Choose 將返回 "three"。當(dāng) index 代表一選項(xiàng)組中的值時(shí),則這項(xiàng)功能將會(huì)特別有用。

即使它只返回一個(gè)選項(xiàng)值,Choose 仍然會(huì)計(jì)算列表中的每個(gè)選擇項(xiàng)。所以應(yīng)該注意到這項(xiàng)副作用。例如,當(dāng)在每個(gè)選擇項(xiàng)表達(dá)式中使用了 MsgBox 函數(shù)作為其中的一部分時(shí),每計(jì)算一個(gè)選擇項(xiàng),就會(huì)顯示一次消息框。

當(dāng) index小于 1 或大于列出的選擇項(xiàng)數(shù)目時(shí),Choose 函數(shù)返回 Null。

如果 index 不是整數(shù),則會(huì)先四舍五入為與其最接近的整數(shù)。

Chr 函數(shù)
返回 String,其中包含有與指定的字符代碼相關(guān)的字符 。

語(yǔ)法

Chr(charcode)

必要的 charcode 參數(shù)是一個(gè)用來(lái)識(shí)別某字符的 Long。

說(shuō)明

0 到 31 之間的數(shù)字與標(biāo)準(zhǔn)的非打印 ASCII 代碼相同。例如,Chr(10) 可以返回?fù)Q行字符。charcode 的正常范圍為 0 – 255。然而,在 DBCS 系統(tǒng),charcode 的實(shí)際范圍為 -32768 到 65535。

注意 ChrB 函數(shù)作用于包含在 String 中的字節(jié)數(shù)據(jù)。ChrB 總是返回一個(gè)單字節(jié),而不是返回一個(gè)字符,一個(gè)字符可能是一個(gè)或兩個(gè)字節(jié)。ChrW 函數(shù)返回包含 Unicode 的 String,若在不支持 Unicode 的平臺(tái)上,則其功能與 Chr 函數(shù)相同。

注意 Visual Basic for the Macintosh 不支持Unicode 字符串。因此,當(dāng)n 值在128 – 65,535 范圍內(nèi)時(shí), ChrW(n) 不能像在Windows環(huán)境中那樣返回所有的 Unicode 字符。相反地,當(dāng)Unicode 的n 值大于127 時(shí),ChrW(n) 會(huì)試圖做一個(gè)“最好的猜測(cè)”。因此,在Macintosh 環(huán)境中,不能使用ChrW 。

Command 函數(shù)
返回命令行的參數(shù)部分,該命令行用于裝入 Microsoft Visual Basic 或 Visual Basic 開(kāi)發(fā)的可執(zhí)行程序。Visual Basic Command 函數(shù)在 Microsoft Office 應(yīng)用程序中不可用。

語(yǔ)法

Command

說(shuō)明

當(dāng)從命令行裝入 Visual Basic 時(shí),/cmd 之后的命令行的任何部分作為命令行的參數(shù)傳遞給程序。下面的示例中,cmdlineargs 代表 Command 函數(shù)返回的參數(shù)信息。

VB /cmd cmdlineargs

對(duì)于使用 Visual Basic 開(kāi)發(fā)并編譯為 .exe 文件的應(yīng)用程序,Command 返回出現(xiàn)在命令行中應(yīng)用程序名之后的任何參數(shù)。例如:

MyApp cmdlineargs

想知道如何在正在使用的應(yīng)用程序的用戶界面中改變命令行參數(shù),請(qǐng)搜尋關(guān)于“命令行參數(shù)”的幫助。

Cos 函數(shù)
返回一個(gè) Double,指定一個(gè)角的余弦值。

語(yǔ)法

Cos(number)

必要的 number 參數(shù)是一 Double 或任何有效的數(shù)值表達(dá)式,表示一個(gè)以弧度為單位的角。

說(shuō)明

Cos 函數(shù)的參數(shù)為一個(gè)角,并返回直角三角形兩邊的比值。該比值為角的鄰邊長(zhǎng)度除以斜邊長(zhǎng)度之商。

結(jié)果的取值范圍在 -1 到 1 之間。

為了將角度轉(zhuǎn)換成弧度,請(qǐng)將角度乘以 pi/180。為了將弧度轉(zhuǎn)換成角度,請(qǐng)將弧度乘以 180/pi。

CreateObject 函數(shù)
創(chuàng)建并返回一個(gè)對(duì) ActiveX 對(duì)象的引用。

語(yǔ)法

CreateObject(class,[servername])

CreateObject 函數(shù)的語(yǔ)法有如下部分:

部分 描述
class 必需的; Variant (String). 要?jiǎng)?chuàng)建的應(yīng)用程序名稱和類(lèi)。
servername 可選的; Variant (String). 要在其上創(chuàng)建對(duì)象的網(wǎng)絡(luò)服務(wù)器名稱。如果servername 是一個(gè)空字符串(""),即使用本地機(jī)器。

class 參數(shù)使用 appname.objecttype 這種語(yǔ)法,包括以下部分: 部分 描述
appname 必需的;Variant(字符串)。提供該對(duì)象的應(yīng)用程序名。
objecttype 必需的;Variant(字符串)。待創(chuàng)建對(duì)象的類(lèi)型或類(lèi)。

說(shuō)明

每個(gè)支持自動(dòng)化的應(yīng)用程序都至少提供一種對(duì)象類(lèi)型。例如,一個(gè)字處理應(yīng)用程序可能會(huì)提供 Application 對(duì)象,Document 對(duì)象,以及 Toolbar 對(duì)象。

要?jiǎng)?chuàng)建 ActiveX 對(duì)象,只需將 CreateObject 返回的對(duì)象賦給一個(gè)對(duì)象變量:

'聲明一個(gè)對(duì)象變量來(lái)存放該對(duì)象
'的引用。Dim as Object 采用后期綁定方式。
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

上述代碼將啟動(dòng)該應(yīng)用程序創(chuàng)建該對(duì)象,在本例中就是創(chuàng)建一個(gè) Microsoft Excel 電子數(shù)據(jù)表。對(duì)象創(chuàng)建后,就可以在代碼中使用自定義的對(duì)象變量來(lái)引用該對(duì)象。在下面的示例中,可以使用對(duì)象變量 ExcelSheet 來(lái)訪問(wèn)新建對(duì)象的屬性和方法,以及訪問(wèn) Microsoft Excel 的其它對(duì)象,包括應(yīng)用程序?qū)ο蠛蛦卧窦稀?/p>

'設(shè)置 Application 對(duì)象使 Excel 可見(jiàn)
ExcelSheet.Application.Visible = True
'在表格的第一個(gè)單元中寫(xiě)些文本
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
'將該表格保存到C:/test.xls 目錄
ExcelSheet.SaveAs "C:/TEST.XLS"
'使用應(yīng)用程序?qū)ο蟮?Quit 方法關(guān)閉 Excel。
ExcelSheet.Application.Quit
'釋放該對(duì)象變量
Set ExcelSheet = Nothing

使用 As Object 子句聲明對(duì)象變量,可以創(chuàng)建一個(gè)能包含任何類(lèi)型對(duì)象引用的變量。不過(guò),該變量訪問(wèn)對(duì)象是后期綁定的,也就是說(shuō),綁定在程序運(yùn)行時(shí)才進(jìn)行。要?jiǎng)?chuàng)建一個(gè)使用前期綁定方式的對(duì)象變量,也就是說(shuō),在程序編譯時(shí)就完成綁定,則對(duì)象變量在聲明時(shí)應(yīng)指定類(lèi) ID。例如,可以聲明并創(chuàng)建下列 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)

前期綁定的變量引用可以提供更好的性能,但該變量只能存放聲明中所指定的類(lèi)的引用。

可以將 CreateObject 函數(shù)返回的對(duì)象傳給一個(gè)參數(shù)為對(duì)象的函數(shù)。例如,下面的代碼創(chuàng)建并傳遞了一個(gè) Excel.Application 對(duì)象的引用:

Call MySub (CreateObject("Excel.Application"))

可以在一個(gè)遠(yuǎn)端連網(wǎng)的計(jì)算機(jī)上創(chuàng)建一個(gè)對(duì)象,方法是把計(jì)算機(jī)的名稱傳遞給 CreateObject 的 servername 參數(shù)。這個(gè)名稱與共享名稱的機(jī)器名部份相同:對(duì)于一個(gè)共享名稱為"//MyServer/Public," 的 servername 參數(shù)是 "MyServer" 。

注意 關(guān)于使應(yīng)用程序在遠(yuǎn)程網(wǎng)絡(luò)計(jì)算機(jī)上可見(jiàn)的詳細(xì)信息,請(qǐng)參閱 COM 文檔 (參閱Microsoft Developer Network)。您可能必須給應(yīng)用程序添加注冊(cè)號(hào)。

下面的代碼返回在一個(gè)名為 MyServer 的遠(yuǎn)端計(jì)算機(jī)上運(yùn)行的 Excel 實(shí)例的版本號(hào):

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

如果遠(yuǎn)端服務(wù)器不存在或者不可用,則會(huì)發(fā)生一個(gè)運(yùn)行時(shí)錯(cuò)誤。

注意 當(dāng)該對(duì)象當(dāng)前沒(méi)有實(shí)例時(shí),應(yīng)使用 CreateObject。如果該對(duì)象已有實(shí)例在運(yùn)行,就會(huì)啟動(dòng)一個(gè)新的實(shí)例,并創(chuàng)建一個(gè)指定類(lèi)型的對(duì)象。要使用當(dāng)前實(shí)例,或要啟動(dòng)該應(yīng)用程序并加載一個(gè)文件,可以使用 GetObject 函數(shù)。

如果對(duì)象已登記為單個(gè)實(shí)例對(duì)象,則不管執(zhí)行多少次 CreateObject,都只能創(chuàng)建該對(duì)象的一個(gè)實(shí)例。

CurDir 函數(shù)
返回一個(gè) Variant (String),用來(lái)代表當(dāng)前的路徑。

語(yǔ)法

CurDir[(drive)]

可選的 drive 參數(shù)是一個(gè)字符串表達(dá)式,它指定一個(gè)存在的驅(qū)動(dòng)器。如果沒(méi)有指定驅(qū)動(dòng)器,或 drive 是零長(zhǎng)度字符串 (""),則 CurDir 會(huì)返回當(dāng)前驅(qū)動(dòng)器的路徑。 在 Macintosh上,CurDir 忽略任何指定的 drive ,并只簡(jiǎn)單地返回當(dāng)前驅(qū)動(dòng)器的路徑。

CVErr 函數(shù)
返回 Error 子類(lèi)型的 Variant,其中包含指定的錯(cuò)誤號(hào)。

語(yǔ)法

CVErr(errornumber)

必要的 errornumber 參數(shù)可以是任何有效的錯(cuò)誤號(hào)代碼。

說(shuō)明

可以在過(guò)程中,使用 CVErr 函數(shù)來(lái)創(chuàng)建用戶自定義錯(cuò)誤。例如,如果創(chuàng)建一個(gè)函數(shù),它可以接受若干個(gè)參數(shù),且正常返回一個(gè)字符串,則可以讓函數(shù)來(lái)判斷輸入的參數(shù),確認(rèn)它們是在可接受的范圍內(nèi)。如果不是的話,此函數(shù)將不會(huì)返回所要的字符串。在這種情況下,CVErr 可以返回一個(gè)錯(cuò)誤號(hào),并告知應(yīng)該采取的行動(dòng)。

注意,Error 的隱式轉(zhuǎn)換是不允許的,例如,不能直接把 CVErr 的返回值賦值給一個(gè)非 Variant 的變量。然而,可以對(duì) CVErr 的返回值進(jìn)行顯式轉(zhuǎn)換(使用 CInt、CDbl 等等),并賦值給適當(dāng)?shù)臄?shù)據(jù)類(lèi)型變量。

Date 函數(shù)
返回包含系統(tǒng)日期的 Variant (Date)。

語(yǔ)法

Date

說(shuō)明

為了設(shè)置系統(tǒng)日期,請(qǐng)使用 Date 語(yǔ)句。

DateAdd 函數(shù)
返回包含一個(gè)日期的 Variant (Date),這一日期還加上了一段時(shí)間間隔。

語(yǔ)法

DateAdd(interval, number, date)

DateAdd 函數(shù)語(yǔ)法中有下列命名參數(shù):

部分 描述
interval 必要。字符串表達(dá)式,是所要加上去的時(shí)間間隔。
number 必要。數(shù)值表達(dá)式,是要加上的時(shí)間間隔的數(shù)目。其數(shù)值可以為正數(shù)(得到未來(lái)的日期),也可以為負(fù)數(shù)(得到過(guò)去的日期)。
date 必要。Variant (Date) 或表示日期的文字,這一日期還加上了時(shí)間間隔。

設(shè)置
interval 參數(shù)具有以下設(shè)定值:

設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時(shí)
n 分鐘
s 秒

說(shuō)明

可以使用 DateAdd 函數(shù)對(duì)日期加上或減去指定的時(shí)間間隔。例如,可以用 DateAdd 來(lái)計(jì)算距今天為三十天的日期;或者計(jì)算距現(xiàn)在為 45 分鐘的時(shí)間。

為了對(duì) date 加上“日”,可以使用“一年的日數(shù)” (“y”),“日” (”d”) 或“一周的日數(shù)” (”w”)。

DateAdd 函數(shù)將不返回有效日期。在以下實(shí)例中將 1 月31 日加上一個(gè)月:

DateAdd(m, 1, 31-Jan-95)

上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,則由于 1996 年是閏年,返回值是 1996 年 2 月 29 日。

如果計(jì)算的日期超前 100 年(減去的年度超過(guò) date 中的年份),就會(huì)導(dǎo)致錯(cuò)誤發(fā)生。

如果 number 不是一個(gè) Long 值,則在計(jì)算時(shí)取最接近的整數(shù)值來(lái)計(jì)算。

注意 DateAdd 返回值的格式由 Control Panel設(shè)置決定,而不是由傳遞到date 參數(shù)的格式?jīng)Q定。

DateDiff 函數(shù)
返回 Variant (Long) 的值,表示兩個(gè)指定日期間的時(shí)間間隔數(shù)目。

語(yǔ)法

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函數(shù)語(yǔ)法中有下列命名參數(shù):

部分 描述
interval 必要。字符串表達(dá)式,表示用來(lái)計(jì)算date1 和 date2 的時(shí)間差的時(shí)間間隔
Date1□date2 必要;Variant (Date)。計(jì)算中要用到的兩個(gè)日期。
Firstdayofweek 可選。指定一個(gè)星期的第一天的常數(shù)。如果未予指定,則以星期日為第一天。
firstweekofyear 可選。指定一年的第一周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為第一周。
 
設(shè)置

interval 參數(shù)的設(shè)定值如下:

設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時(shí)
n 分鐘
s 秒


firstdayofweek 參數(shù)的設(shè)定值如下:

常數(shù) 值 描述
vbUseSystem 0 使用 NLS API 設(shè)置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

 

常數(shù) 值 描述
vbUseSystem 0 用 NLS API 設(shè)置。
vbFirstJan1 1 從包含 1 月 1 日的星期開(kāi)始(缺省值)。
vbFirstFourDays 2 從第一個(gè)其大半個(gè)星期在新的一年的一周開(kāi)始。
vbFirstFullWeek 3 從第一個(gè)無(wú)跨年度的星期開(kāi)始。

說(shuō)明

DateDiff 函數(shù)可用來(lái)決定兩個(gè)日期之間所指定的時(shí)間間隔數(shù)目。例如,可以使用 DateDiff 來(lái)計(jì)算兩個(gè)日期之間相隔幾日,或計(jì)算從今天起到年底還有多少個(gè)星期。

為了計(jì)算 date1 與 date2 相差的日數(shù),可以使用“一年的日數(shù)”(y) 或“日”(d)。當(dāng) interval 是“一周的日數(shù)”(w) 時(shí),DateDiff 返回兩日期間的周數(shù)。如果 date1 是星期一,DateDiff 計(jì)算到 date2 為止的星期一的個(gè)數(shù)。這個(gè)數(shù)包含 date2 但不包含 date1。不過(guò),如果 interval 是“周”(ww),則 DateDiff 函數(shù)返回兩日期間的“日歷周”數(shù)。由計(jì)算 date1 與 date2 之間星期日的個(gè)數(shù)而得。如果 date2 剛好是星期日,則 date2 也會(huì)被加進(jìn) DateDiff 的計(jì)數(shù)結(jié)果中;但不論 date1 是否為星期日,都不將它算進(jìn)去。

如果 date1 比 date2 來(lái)得晚,則 DateDiff 函數(shù)的返回值為負(fù)數(shù)。

firstdayofweek 參數(shù)會(huì)影響使用時(shí)間間隔符號(hào) “W” 或 “WW” 計(jì)算的結(jié)果。

如果 date1 或 date2 是日期文字,則指定的年份成為該日期的固定部分。但是,如果 date1 或 date2 用雙引號(hào) (" ") 括起來(lái),且年份略而不提,則在每次計(jì)算表達(dá)式 date1 或 date2 時(shí),當(dāng)前年份都會(huì)插入到代碼之中。這樣就可以書(shū)寫(xiě)適用于不同年份的程序代碼。

在計(jì)算 12 月 31 日和來(lái)年的 1 月 1 日的年份差時(shí),DateDiff 返回 1 表示相差一個(gè)年份,雖然實(shí)際上只相差一天而已。

DatePart 函數(shù)
返回一個(gè)包含已知日期的指定時(shí)間部分的 Variant (Integer)。

語(yǔ)法

DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

DatePart 函數(shù)語(yǔ)法中有下列命名參數(shù):

部分 描述
interval 必要。字符串表達(dá)式,是要返回的時(shí)間間隔。
date 必要。要計(jì)算的 Variant (Date) 值。
Firstdayofweek 可選。指定一個(gè)星期的第一天的常數(shù)。如果未予指定,則以星期日為第一天。
firstweekofyear 可選。指定一年第一周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為第一周。

設(shè)置

interval 參數(shù)的設(shè)定值如下:

設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時(shí)
n 分鐘
s 秒

firstdayofweek 參數(shù)的設(shè)定值如下:

常數(shù) 值 描述
vbUseSystem 0 使用 NLS API 設(shè)置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

firstweekofyear 參數(shù)的設(shè)定值如下:

常數(shù) 值 描述
vbUseSystem 0 使用 NLS API 設(shè)置。
vbFirstJan1 1 從包含 1 月 1 日的星期開(kāi)始(缺省值)。
vbFirstFourDays 2 從第一個(gè)其大半個(gè)星期在新的一年的一周開(kāi)始。
vbFirstFullWeek 3 從第一個(gè)無(wú)跨年度的星期開(kāi)始。
 
說(shuō)明

DatePart 函數(shù)可以用來(lái)計(jì)算日期并返回指定的時(shí)間間隔。例如,可以使用DatePart 計(jì)算某個(gè)日期是星期幾或目前為幾點(diǎn)鐘。

firstdayofweek 參數(shù)會(huì)影響使用時(shí)間間隔符號(hào) “W” 或 “WW” 計(jì)算的結(jié)果。

如果 date 是日期文字,則指定的年份成為該日期的固定部分。但是,如果 date 用雙引號(hào) (" ") 括起來(lái),且年份略而不提,則在每次計(jì)算 date 表達(dá)式時(shí),當(dāng)前年份都會(huì)插入到代碼之中。這樣就可以書(shū)寫(xiě)適用于不同年份的程序代碼。

DateSerial 函數(shù)
返回包含指定的年、月、日的 Variant (Date)。

語(yǔ)法

DateSerial(year, month, day)

DateSerial 函數(shù)語(yǔ)法有下列的命名參數(shù):

部分 描述
year 必要;Integer。從 100 到 9999 間的整數(shù),或一數(shù)值表達(dá)式。
month 必要;Integer。任何數(shù)值表達(dá)式。
day 必要;Integer。任何數(shù)值表達(dá)式。

說(shuō)明

為了指定某個(gè)日期,如 1991 年 12 月 31 日,DateSerial 函數(shù)中的每個(gè)參數(shù)的取值范圍應(yīng)該是可接受的;即,日的取值范圍應(yīng)在 1-31 之間,而月的取值范圍應(yīng)在 1-12 之間。但是,當(dāng)一個(gè)數(shù)值表達(dá)式表示某日之前或其后的年、月、日數(shù)時(shí),也可以為每個(gè)使用這個(gè)數(shù)值表達(dá)式的參數(shù)指定相對(duì)日期。

以下示例中使用了數(shù)值表達(dá)式代替絕對(duì)日期。這里,DateSerial 函數(shù)返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零兩個(gè)月 (8 - 2) 又一天 (1 - 1) 之前的日期;換句話說(shuō),就是 1980 年 5 月 31 日。

DateSerial(1990 - 10, 8 - 2, 1 - 1)

year 參數(shù)的數(shù)值若介于 0 與 29 之間,則將其解釋為 2000–2029年,若介于 30 和 99 之間則解釋為1930–1999年。而對(duì)所有其它 year 參數(shù),則請(qǐng)用四位數(shù)值表示(如 1800)。

當(dāng)任何一個(gè)參數(shù)的取值超出可接受的范圍時(shí),它會(huì)適時(shí)進(jìn)位到下一個(gè)較大的時(shí)間單位。例如,如果指定了 35 天,則這個(gè)天數(shù)被解釋成一個(gè)月加上多出來(lái)的日數(shù),多出來(lái)的日數(shù)將由其年份與月份來(lái)決定。如果一個(gè)參數(shù)值超出 -32,768 到 32,767 的范圍,就會(huì)導(dǎo)致錯(cuò)誤發(fā)生。

DateValue 函數(shù)
返回一個(gè) Variant (Date)。

語(yǔ)法

DateValue(date)

必要的 date 參數(shù) date 通常是字符串表達(dá)式,表示從 100 年 1 月 1 日到 9999 年 12 月 31 日之間的一個(gè)日期。但是,date 也可以是任何表達(dá)式,其所代表的日期、時(shí)間在上述范圍內(nèi)。

說(shuō)明

如果 date 是一個(gè)字符串,且其內(nèi)容只有數(shù)字以及分隔數(shù)字的日期分隔符,則 DateValue 就會(huì)根據(jù)系統(tǒng)中指定的短日期格式來(lái)識(shí)別月、日、年的順序。DateValue 也識(shí)別明確的英文月份名稱,全名或縮寫(xiě)均可。例如,除了 12/30/1991 和 12/30/91 之外,DateValue 也識(shí)別 December 30, 1991 和 Dec 30, 1991。

如果 date 中略去了年這一部分,DateValue 就會(huì)使用由計(jì)算機(jī)系統(tǒng)日期設(shè)置的當(dāng)前年份。

如果 date 參數(shù)包含時(shí)間信息,則 DateValue 不會(huì)返回它。但是,如果 date 包含無(wú)效時(shí)間信息(如 89:98),則會(huì)導(dǎo)致錯(cuò)誤發(fā)生。

Day 函數(shù)
返回一個(gè) Variant (Integer),其值為 1 到 31 之間的整數(shù),表示一個(gè)月中的某一日。

語(yǔ)法

Day(date)

必要的 date 參數(shù),可以是任何能夠表示日期的 Variant、數(shù)值表達(dá)式、字符串表達(dá)式或它們的組合。如果 date 包含 Null,則返回 Null。

DDB 函數(shù)
返回一個(gè) Double,指定一筆資產(chǎn)在一特定期間內(nèi)的折舊??墒褂秒p下落收復(fù)平衡方法或其它指定的方法進(jìn)行計(jì)算。

語(yǔ)法

DDB(cost, salvage, life, period[, factor])

DDB 函數(shù)具有下列命名參數(shù):

部分 描述
cost 必要。Double 指定資產(chǎn)的初始成本。
salvage 必要。Double.指定使用年限結(jié)束時(shí)的資產(chǎn)價(jià)值。
life 必要。Double 指定資產(chǎn)可用的可用年限。
period 必要。Double 指定計(jì)算資產(chǎn)折舊所用的那一期間。
factor 可選。Variant 指定收復(fù)平衡下落時(shí)的速度。如果省略的話,2(雙下落方法)為缺省值。

說(shuō)明

雙下落收復(fù)平衡方法用加速利率法計(jì)算折舊。在第一段時(shí)期,折舊為最高,而在接下來(lái)的期間內(nèi)降低。

life 和 period 參數(shù)必須用相同的單位表示。例如,如果 life 用月份表示,則 period 也必須用月份表示。所有參數(shù)都必須是正值。

DDB 函數(shù)使用下列公式計(jì)算在一定時(shí)期后的折舊:

折舊 / period = ((cost – alvage) * factor) / life

Dir 函數(shù)
返回一個(gè) String,用以表示一個(gè)文件名、目錄名或文件夾名稱,它必須與指定的模式或文件屬性、或磁盤(pán)卷標(biāo)相匹配。

語(yǔ)法

Dir[(pathname[, attributes])]

Dir 函數(shù)的語(yǔ)法具有以下幾個(gè)部分:

部分 描述
pathname 可選參數(shù)。用來(lái)指定文件名的字符串表達(dá)式,可能包含目錄或文件夾、以及驅(qū)動(dòng)器。如果沒(méi)有找到 pathname,則會(huì)返回零長(zhǎng)度字符串 ("")。
attributes 可選參數(shù)。常數(shù)或數(shù)值表達(dá)式,其總和用來(lái)指定文件屬性。如果省略,則會(huì)返回匹配 pathname 但不包含屬性的文件。

設(shè)置值

attributes 參數(shù)的設(shè)置可為:

常數(shù) 值 描述
vbNormal 0 (缺省) 指定沒(méi)有屬性的文件。
vbReadOnly 1 指定無(wú)屬性的只讀文件
vbHidden 2 指定無(wú)屬性的隱藏文件
VbSystem 4 指定無(wú)屬性的系統(tǒng)文件 在Macintosh中不可用。
vbVolume 8 指定卷標(biāo)文件;如果指定了其它屬性,則忽略vbVolume 在Macintosh中不可用。
vbDirectory 16 指定無(wú)屬性文件及其路徑和文件夾。
vbAlias 64 指定的文件名是別名,只在Macintosh上可用。

注意 這些常數(shù)是由 VBA 所指定的,在程序代碼中的任何位置,可以使用這些常數(shù)來(lái)替換真正的數(shù)值。
說(shuō)明

在 Microsoft Windows 中, Dir 支持多字符 (*) 和單字符 (?) 的通配符來(lái)指定多重文件。

在 Macintosh 中,這些字符作為合法文件名字符并且不能作為通配符來(lái)指定多個(gè)文件

由于 Macintosh 不支持通配符,使用文件類(lèi)型指定文件組??梢允褂?MacID 函數(shù)指定文件類(lèi)型而不用文件名。比如,下列語(yǔ)句返回當(dāng)前文件夾中第一個(gè)TEXT文件的名稱:

Dir("SomePath", MacID("TEXT"))

為選中文件夾中所有文件,指定一空串:

Dir("")

在 Microsoft Windows 中,如果在Dir函數(shù)中使用MacID函數(shù),將產(chǎn)生錯(cuò)誤。

任何大于256的attribute值都被認(rèn)為是MacID 函數(shù)的值。

在第一次調(diào)用 Dir 函數(shù)時(shí),必須指定 pathname,否則會(huì)產(chǎn)生錯(cuò)誤。如果也指定了文件屬性,那么就必須包括 pathname。

Dir 會(huì)返回匹配 pathname 的第一個(gè)文件名。若想得到其它匹配 pathname 的文件名,再一次調(diào)用 Dir,且不要使用參數(shù)。如果已沒(méi)有合乎條件的文件,則 Dir 會(huì)返回一個(gè)零長(zhǎng)度字符串 ("")。一旦返回值為零長(zhǎng)度字符串,并要再次調(diào)用 Dir 時(shí),就必須指定 pathname,否則會(huì)產(chǎn)生錯(cuò)誤。不必訪問(wèn)到所有匹配當(dāng)前 pathname 的文件名,就可以改變到一個(gè)新的 pathname 上。但是,不能以遞歸方式來(lái)調(diào)用 Dir 函數(shù)。以 vbDirectory 屬性來(lái)調(diào)用 Dir 不能連續(xù)地返回子目錄。

提示 由于文件名并不會(huì)以特別的次序來(lái)返回,所以可以將文件名存儲(chǔ)在一個(gè)數(shù)組中,然后再對(duì)這個(gè)數(shù)組排序。

DoEvents 函數(shù)
轉(zhuǎn)讓控制權(quán),以便讓操作系統(tǒng)處理其它的事件。

語(yǔ)法

DoEvents( )

說(shuō)明

DoEvents 函數(shù)會(huì)返回一個(gè) Integer,以代表 Visual Basic 獨(dú)立版本中打開(kāi)的窗體數(shù)目,例如,Visual Basic,專業(yè)版,在其它的應(yīng)用程序中,DoEvents 返回 0。

DoEvents 會(huì)將控制權(quán)傳給操作系統(tǒng)。當(dāng)操作系統(tǒng)處理完隊(duì)列中的事件,并且在 SendKeys 隊(duì)列中的所有鍵也都已送出之后,返回控制權(quán)。

DoEvents 對(duì)于簡(jiǎn)化諸如允許用戶取消一個(gè)已啟動(dòng)的過(guò)程 — 例如搜尋一個(gè)文件 — 特別有用。對(duì)于長(zhǎng)時(shí)間過(guò)程,放棄控制權(quán)最好使用定時(shí)器或通過(guò)委派任務(wù)給 ActiveX EXE 部件來(lái)完成。以后,任務(wù)還是完全獨(dú)立于應(yīng)用程序,多任務(wù)及時(shí)間片由操作系統(tǒng)來(lái)處理。

小心 確保以 DoEvents 放棄控制權(quán)的過(guò)程,在第一次 DoEvents 返回之前,不能再次被其他部分的代碼調(diào)用;否則會(huì)產(chǎn)生不可預(yù)料的結(jié)果。此外,如果其它的應(yīng)用程序可能會(huì)和本過(guò)程以不可預(yù)知的方式進(jìn)行交互操作,那么也不要使用 DoEvents,因?yàn)榇藭r(shí)不能放棄控制權(quán)。

Environ 函數(shù)
返回 String,它關(guān)連于一個(gè)操作系統(tǒng)環(huán)境變量。 在 Macintosh 中不可用

語(yǔ)法

Environ({envstring | number})

Environ 函數(shù)的語(yǔ)法含有以下這些命名參數(shù):

部分 描述
envstring 可選參數(shù)。包含一個(gè)環(huán)境變量名的字符串表達(dá)式。
number 可選參數(shù)。數(shù)值表達(dá)式,用來(lái)表示環(huán)境字符串在環(huán)境字符串表格中的數(shù)值順序。number 參數(shù)可以是任意的數(shù)值表達(dá)式,不過(guò)在計(jì)算前,它會(huì)先轉(zhuǎn)換為一個(gè)整數(shù)。

說(shuō)明

如果在環(huán)境字符串表格中找不到 envstring,則會(huì)返回一個(gè)零長(zhǎng)度字符串 ("")。如果找到,則 Environ 會(huì)返回一段文本,文本是賦值給指定的 envstring 的,也就是說(shuō),在環(huán)境字符串表格中對(duì)應(yīng)那個(gè)環(huán)境變量的等號(hào) (=) 后面的那段文本。

如果指定了 number,則在環(huán)境字符串表格中相應(yīng)位置上的字符串會(huì)返回。在這種情況下,Environ 會(huì)返回整個(gè)文本,包括 envstring。如果在指定位置上沒(méi)有環(huán)境字符串,那么 Environ 會(huì)返回一個(gè)零長(zhǎng)度字符串。

 

EOF 函數(shù)
返回一個(gè) Integer,它包含 Boolean 值 True,表明已經(jīng)到達(dá)為 Random 或順序 Input 打開(kāi)的文件的結(jié)尾。

語(yǔ)法

EOF(filenumber)

必要的 filenumber 參數(shù)是一個(gè) Integer,包含任何有效的文件號(hào)。

說(shuō)明

使用 EOF 是為了避免因試圖在文件結(jié)尾處進(jìn)行輸入而產(chǎn)生的錯(cuò)誤。

直到到達(dá)文件的結(jié)尾,EOF 函數(shù)都返回 False。對(duì)于為訪問(wèn) Random 或 Binary 而打開(kāi)的文件,直到最后一次執(zhí)行的 Get 語(yǔ)句無(wú)法讀出完整的記錄時(shí),EOF 都返回 False。

對(duì)于為訪問(wèn) Binary 而打開(kāi)的文件,在 EOF 函數(shù)返回 True 之前,試圖使用 Input 函數(shù)讀出整個(gè)文件的任何嘗試都會(huì)導(dǎo)致錯(cuò)誤發(fā)生。在用 Input 函數(shù)讀出二進(jìn)制文件時(shí),要用 LOF 和 Loc 函數(shù)來(lái)替換 EOF 函數(shù),或者將 Get 函數(shù)與 EOF 函數(shù)配合使用。對(duì)于為 Output 打開(kāi)的文件,EOF 總是返回 True。

Error 函數(shù)
返回對(duì)應(yīng)于已知錯(cuò)誤號(hào)的錯(cuò)誤信息。

語(yǔ)法

Error[(errornumber)]

這個(gè)可選的 errornumber 參數(shù)可以為任何有效的錯(cuò)誤號(hào)。如果 errornumber 是有效的錯(cuò)誤號(hào),但尚未被定義,則 Error 將返回字符串“應(yīng)用程序定義的錯(cuò)誤或?qū)ο蠖x的錯(cuò)誤”。如果 errornumber 不是有效的錯(cuò)誤號(hào),則會(huì)導(dǎo)致錯(cuò)誤發(fā)生。如果省略 errornumber,就會(huì)返回與最近一次運(yùn)行時(shí)錯(cuò)誤對(duì)應(yīng)的消息。如果沒(méi)有發(fā)生運(yùn)行時(shí)錯(cuò)誤,或者 errornumber 是 0,則 Error 返回一個(gè)長(zhǎng)度為零的字符串 ("")。

說(shuō)明

請(qǐng)檢查 Err 對(duì)象的屬性設(shè)置,以便認(rèn)定最近一次運(yùn)行時(shí)錯(cuò)誤。Error 函數(shù)的返回值對(duì)應(yīng)于 Err 對(duì)象的 Des cription 屬性。

Exp 函數(shù)
返回 Double,指定 e(自然對(duì)數(shù)的底)的某次方。

語(yǔ)法

Exp(number)

必要的 number 參數(shù) number 是 Double或任何有效的數(shù)值表達(dá)式。

說(shuō)明

如果 number 的值超過(guò) 709.782712893,則會(huì)導(dǎo)致錯(cuò)誤發(fā)生。常數(shù) e 的值大約是 2.718282。

注意 Exp 函數(shù)的作用和 Log 的作用互補(bǔ),所以有時(shí)也稱做反對(duì)數(shù)。

FileAttr 函數(shù)
返回一個(gè) Long,表示使用 Open 語(yǔ)句所打開(kāi)文件的文件方式。

語(yǔ)法

FileAttr(filenumber, returntype)

FileAttr 函數(shù)的語(yǔ)法具有以下幾個(gè)命名參數(shù):

部分 描述
filenumber 必要。Integer 類(lèi)型,任何有效的文件號(hào)。
returntype 必要。Integer 類(lèi)型。它是數(shù)字,指出返回信息的類(lèi)型。指定 1 則可返回一個(gè)代表文件方式的數(shù)值。而僅僅在 16 位系統(tǒng)中, 指定 2 才可以恢復(fù)操作系統(tǒng)的文件句柄。在 32 位系統(tǒng)中不支持 Returntype 2,它會(huì)導(dǎo)致錯(cuò)誤發(fā)生。

返回值

當(dāng) returntype 參數(shù)值為 1 時(shí),下列返回值指出文件訪問(wèn)方式:

方式 值
Input 1
Output 2
Random 4
Append 8
Binary 32

FileDateTime 函數(shù)
返回一個(gè) Variant (Date),此為一個(gè)文件被創(chuàng)建或最后修改后的日期和時(shí)間。

語(yǔ)法

FileDateTime(pathname)

必要的 pathname 參數(shù)是用來(lái)指定一個(gè)文件名的字符串表達(dá)式。pathname 可以包含目錄或文件夾、以及驅(qū)動(dòng)器。

FileLen 函數(shù)
返回一個(gè) Long,代表一個(gè)文件的長(zhǎng)度,單位是字節(jié)。

語(yǔ)法

FileLen(pathname)

必要的 pathname 參數(shù)是用來(lái)指定一個(gè)文件名的字符串表達(dá)式。pathname 可以包含目錄或文件夾、以及驅(qū)動(dòng)器。

說(shuō)明

當(dāng)調(diào)用 FileLen 函數(shù)時(shí),如果所指定的文件已經(jīng)打開(kāi),則返回的值是這個(gè)文件在打開(kāi)前的大小。

注意 若要取得一個(gè)打開(kāi)文件的長(zhǎng)度大小,使用 LOF 函數(shù)。

Filter函數(shù)
描述

返回一個(gè)下標(biāo)從零開(kāi)始的數(shù)組,該數(shù)組包含基于指定篩選條件的一個(gè)字符串?dāng)?shù)組的子集。

語(yǔ)法

Filter(sourcesrray, match[, include[, compare]])

Filter函數(shù)語(yǔ)法有如下的命名參數(shù):

部分 描述
sourcearray 必需的。要執(zhí)行搜索的一維字符串?dāng)?shù)組。
match 必需的。要搜索的字符串。
include 可選的。Boolean值,表示返回子串包含還是不包含match字符串。如果include是True,F(xiàn)ilter返回的是包含match子字符串的數(shù)組子集。如果include是False,F(xiàn)ilter返回的是不包含match子字符串的數(shù)組子集。
compare 可選的。數(shù)字值,表示所使用的字符串比較類(lèi)型。有關(guān)其設(shè)置,請(qǐng)參閱下面的“設(shè)置值”部分。

設(shè)置值
Compare參數(shù)的設(shè)置值如下:

常數(shù) 值 描述
vbUseCompareOption –1 使用Option Compare語(yǔ)句的設(shè)置值來(lái)執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 只用于Microsoft Access。基于您的數(shù)據(jù)庫(kù)信息來(lái)執(zhí)行比較。

說(shuō)明
如果在sourcearray中沒(méi)有發(fā)現(xiàn)與match相匹配的值,F(xiàn)ilter返回一個(gè)空數(shù)組。如果sourcearray是Null或不是一個(gè)一維數(shù)組,則產(chǎn)生錯(cuò)誤。

Filter函數(shù)所返回的數(shù)組,其元素?cái)?shù)目剛好是所找到的匹配項(xiàng)目數(shù)。

Int、Fix 函數(shù)
返回參數(shù)的整數(shù)部分。

語(yǔ)法

Int(number)

Fix(number)

必要的 number 參數(shù)是 Double 或任何有效的數(shù)值表達(dá)式。如果 number 包含 Null,則返回 Null。

說(shuō)明

Int 和 Fix 都會(huì)刪除 number 的小數(shù)部份而返回剩下的整數(shù)。

Int 和 Fix 的不同之處在于,如果 number 為負(fù)數(shù),則 Int 返回小于或等于 number 的第一個(gè)負(fù)整數(shù),而 Fix 則會(huì)返回大于或等于 number 的第一個(gè)負(fù)整數(shù)。例如,Int 將 -8.4 轉(zhuǎn)換成 -9,而 Fix 將 -8.4 轉(zhuǎn)換成 -8。

Fix(number) 等于:

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

Format 函數(shù)
返回 Variant (String),其中含有一個(gè)表達(dá)式,它是根據(jù)格式表達(dá)式中的指令來(lái)格式化的。

語(yǔ)法

Format(expression[, format[, firstdayofweek[, firstweekofyear]]])

Format 函數(shù)的語(yǔ)法具有下面幾個(gè)部分:

部分 說(shuō)明
expression 必要參數(shù)。任何有效的表達(dá)式。
format 可選參數(shù)。有效的命名表達(dá)式或用戶自定義格式表達(dá)式。
firstdayofweek 可選參數(shù)。常數(shù),表示一星期的第一天。
firstweekofyear 可選參數(shù)。常數(shù),表示一年的第一周。

設(shè)置值
firstdayofweek 參數(shù)有下面設(shè)置:

常數(shù) 值 說(shuō)明
vbUseSystem 0 使用 NLS API 設(shè)置。
VbSunday 1 星期日(缺?。?
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

firstweekofyear 參數(shù)有下面設(shè)置:

常數(shù) 值 說(shuō)明
vbUseSystem 0 使用 NLS API 設(shè)置。
vbFirstJan1 1 從包含一月一日的那一周開(kāi)始(缺?。?。
vbFirstFourDays 2 從本年第一周開(kāi)始,而此周至少有四天在本年中。
VbFirstFullWeek 3 從本年第一周開(kāi)始,而此周完全在本年中。

說(shuō)明 格式化 作法
數(shù)字 使用預(yù)先定義的命名數(shù)值格式或創(chuàng)建用戶自定義數(shù)值格式。
日期和時(shí)間 使用預(yù)先定義的命名日期/時(shí)間格式或創(chuàng)建用戶自定義日期/時(shí)間格式。
日期和時(shí)間序數(shù) 使用日期和時(shí)間格式或數(shù)值格式。
字符串 創(chuàng)建自定義的字符串格式。

如果在格式化數(shù)字時(shí)沒(méi)有指定 format,F(xiàn)ormat 會(huì)提供與 Str 函數(shù)類(lèi)似的功能,盡管它是國(guó)際化的。然而,以 Format 作用在正數(shù)上不會(huì)保留正負(fù)號(hào)空間,而以 Str 的話則會(huì)。

如果要格式化一個(gè)沒(méi)有本地化的數(shù)值字符串,應(yīng)該使用一個(gè)用戶自定義的數(shù)值格式,以保證得到需要的外觀。

注意 如果 Calendar 屬性設(shè)置是Gregorian ,并且format 指定了日期格式,那么,提供的 expression 必須是Gregorian 。如果Visual Basic Calendar 屬性設(shè)置是 Hijri,則提供的的 expression 必須是Hijri 。

如果日歷是Gregorian,則 format 表達(dá)式的意義沒(méi)有改變。如果日歷是Hijri ,則所有的日期格式符號(hào)(例如,dddd, mmmm, yyyy )有相同的意義,這些意義只應(yīng)用于Hijri 日歷。格式符號(hào)保持英文,用于文本顯示的符號(hào)(例如,AM 和PM )顯示與該符號(hào)有關(guān)的字符串(英文或阿拉伯?dāng)?shù)字)。當(dāng)日歷是Hijri 時(shí),一些符號(hào)的范圍會(huì)改變。

符號(hào) 范圍
d 1-30
dd 1-30
ww 1-51
mmm 顯示完整的月份名稱(Hijri 月份名稱無(wú)縮寫(xiě)形式)
y 1-355
yyyy 100-9666

FormatCurrency函數(shù)
描述

返回一個(gè)貨幣值格式的表達(dá)式,它使用系統(tǒng)控制面板中定義的貨幣符號(hào)。

語(yǔ)法

FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatCurrency函數(shù)語(yǔ)法有如下幾部分:

部分 描述
Expression 必需的。要格式化的表達(dá)式。
NumDigitsAfterDecimal 可選的。數(shù)字值,表示小數(shù)點(diǎn)右邊的顯示位數(shù)。缺省值為–1,表示使用計(jì)算機(jī)的區(qū)域設(shè)置值。
IncludeLeadingDigit 可選的。三態(tài)常數(shù),表示小數(shù)點(diǎn)前是否顯示一個(gè)零。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。
UseParensForNegativeNumbers 可選的。三態(tài)常數(shù),表示是否把負(fù)數(shù)值放在園括號(hào)內(nèi)。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。
GroupDigits 可選的。三態(tài)常數(shù),表示是否用組分隔符對(duì)數(shù)字進(jìn)行分組,組分隔符由計(jì)算機(jī)的區(qū)域設(shè)置值指定。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。

設(shè)置值
IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits參數(shù)的設(shè)置值如下:

常數(shù) 值 描述
vbTrue –1 True
vbFalse 0 False
vbUseDefault –2 使用計(jì)算機(jī)區(qū)域設(shè)置中的設(shè)置值。

說(shuō)明
當(dāng)忽略一個(gè)或多個(gè)選項(xiàng)參數(shù)時(shí),被忽略的參數(shù)值由計(jì)算機(jī)的區(qū)域設(shè)置值提供。

貨幣符號(hào)相對(duì)貨幣值的位置由計(jì)算機(jī)的區(qū)域設(shè)置值確定。

注意 除起始的零外,所有設(shè)置值信息都來(lái)自“區(qū)域設(shè)置”的“貨幣”選項(xiàng)卡,起始的零來(lái)自“數(shù)字”選項(xiàng)卡。

FormatDateTime函數(shù)
描述

返回一個(gè)日期或時(shí)間格式的表達(dá)式。

語(yǔ)法

FormatDateTime(Date[,NamedFormat])

FormatDateTime函數(shù)語(yǔ)法有如下幾部分:

部分 描述
Date 必需的。要被格式化的日期表達(dá)式。
NamedFormat 可選的。數(shù)字值,表示日期/時(shí)間所使用的格式。如果忽略該值,則使用vbGeneralDate。

設(shè)置值
NamedFormat參數(shù)的設(shè)置值如下:

常數(shù) 值 描述
vbGeneralDate 0 顯示日期和/或時(shí)間。如果有日期部分,則用短日期格式顯示。如果有時(shí)間部分,則用長(zhǎng)時(shí)間格式顯示。如果都有,兩部分都顯示。
vbLongDate 1 用計(jì)算機(jī)區(qū)域設(shè)置值中指定的長(zhǎng)日期格式顯示日期。
vbShortDate 2 用計(jì)算機(jī)區(qū)域設(shè)置值中指定的短日期格式顯示日期。
vbLongTime 3 用計(jì)算機(jī)區(qū)域設(shè)置值中指定的時(shí)間格式顯示時(shí)間。
vbShortTime 4 用24小時(shí)格式(hh:mm)顯示時(shí)間。


FormatNumber函數(shù)
描述

返回一個(gè)數(shù)字格式的表達(dá)式。

語(yǔ)法

FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatNumber函數(shù)語(yǔ)法有如下幾部分:

部分 描述
Expression 必需的。要被格式化的表達(dá)式。
NumDigitsAfterDecimal 可選的。數(shù)字值,表示小數(shù)點(diǎn)右邊的顯示位數(shù)。缺省值為–1,表示使用計(jì)算機(jī)的區(qū)域設(shè)置值。
IncludeLeadingDigit 可選的。三態(tài)常數(shù),表示小數(shù)點(diǎn)前是否顯示零。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。
UseParensForNegativeNumbers 可選的。三態(tài)常數(shù),表示是否把負(fù)數(shù)值放在圓括號(hào)內(nèi)。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。
GroupDigits 可選的。的三態(tài)常數(shù),表示是否用組分隔符對(duì)數(shù)字分組,組分隔符在計(jì)算機(jī)的區(qū)域設(shè)置值中指定。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。

設(shè)置值
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits參數(shù)的設(shè)置值如下:

常數(shù) 值 描述
vbTrue –1 True
vbFalse 0 False
vbUseDefault –2 用計(jì)算機(jī)區(qū)域設(shè)置值中的設(shè)置值。

說(shuō)明
當(dāng)忽略一個(gè)或多個(gè)選項(xiàng)參數(shù)時(shí),被忽略的參數(shù)值由計(jì)算機(jī)的區(qū)域設(shè)置值提供。

注意 所有設(shè)置值信息都來(lái)自“區(qū)域設(shè)置”的“數(shù)字”選項(xiàng)卡。

FormatPercent函數(shù)
描述

返回一個(gè)百分比格式(乘以100)的表達(dá)式,后面有%符號(hào)。

語(yǔ)法

FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatPercent函數(shù)語(yǔ)法有如下幾部分:

部分 描述
Expression 必需的。要格式化的表達(dá)式。
NumDigitsAfterDecimal 可選的。表示小數(shù)點(diǎn)右邊的顯示位數(shù)。缺省值為–1,表示使用計(jì)算機(jī)的區(qū)域設(shè)置值。
IncludeLeadingDigit 可選的。三態(tài)常數(shù),表示小數(shù)點(diǎn)前是否顯示零。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。
UseParensForNegativeNumbers 可選的。三態(tài)常數(shù),表示是否把負(fù)數(shù)放在圓括號(hào)內(nèi)。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。
GroupDigits 可選的。三態(tài)常數(shù),表示是否用組分隔符對(duì)數(shù)字進(jìn)行分組,組分隔符在計(jì)算機(jī)的區(qū)域設(shè)置值中指定。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。

設(shè)置值
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits參數(shù)的設(shè)置值如下:

常數(shù) 值 描述
vbTrue –1 True
vbFalse 0 False
vbUseDefault –2 使用計(jì)算機(jī)區(qū)域設(shè)置值中的設(shè)置值。

說(shuō)明
當(dāng)忽略一個(gè)或多個(gè)選項(xiàng)參數(shù)時(shí),被忽略的參數(shù)值由計(jì)算機(jī)的區(qū)域設(shè)置值提供。

注意 所有的設(shè)置值信息都來(lái)自“區(qū)域設(shè)置”的“數(shù)字”選項(xiàng)卡。

FreeFile 函數(shù)
返回一個(gè) Integer,代表下一個(gè)可供 Open 語(yǔ)句使用的文件號(hào)。

語(yǔ)法

FreeFile[(rangenumber)]

可選的參數(shù) rangenumber 是一個(gè) Variant,它指定一個(gè)范圍,以便返回該范圍之內(nèi)的下一個(gè)可用文件號(hào)。指定 0(缺省值)則返回一個(gè)介于 1 – 255 之間的文件號(hào)。指定 1 則返回一個(gè)介于 256 – 511 之間的文件號(hào)。

說(shuō)明

使用 FreeFile 提供一個(gè)尚未使用的文件號(hào)。

FV 函數(shù)
返回一個(gè) Double,指定未來(lái)的定期定額支付且利率固定的年金。

語(yǔ)法

FV(rate, nper, pmt[, pv[, type]])

FV 函數(shù)有下列命名參數(shù):

部分 描述
rate 必要。Double,指定每一期的利率。例如,如果有一筆貸款年百分率 (APR) 為百分之十且按月付款的汽車(chē)貸款,則利率為 0.1/12 或 0.0083。
nper 必要。Integer,指定一筆年金的付款總期限。例如,如果對(duì)一筆為期四年的汽車(chē)貸款選擇按月付款方式,則貸款期限共有 4 * 12(或 48)個(gè)付款期。
pmt 必要。Double 指定每一期的付款金額。付款金額通常包含本金和利息,而且此付款金額在年金的有效期間是不會(huì)改變的。
pv 可選。Variant,指定未來(lái)一系列付款(或一次付清款項(xiàng))的現(xiàn)值。例如,當(dāng)借錢(qián)買(mǎi)一輛汽車(chē)時(shí)時(shí),向貸方所借的金額為未來(lái)每月付款給貸方的現(xiàn)值。如果省略的話,缺省值為 0。
type 可選。Variant,指定貸款到期時(shí)間。如果貸款在貸款周期結(jié)束時(shí)到期,請(qǐng)使用 0。如果貸款在周期開(kāi)始時(shí)到期,請(qǐng)使用 1。如果省略的話,缺省值為 0。

說(shuō)明
年金是一段時(shí)間內(nèi)一系列固定現(xiàn)金支付。年金可以是貸款(如房屋抵押貸款),也可以是一筆投資(如按月儲(chǔ)蓄計(jì)劃)。

在支付期間,必須用相同的單位來(lái)計(jì)算 rate 和 nper 參數(shù)。例如,如果 rate 用月份來(lái)計(jì)算,則 nper 也必須用月份來(lái)計(jì)算。

對(duì)所有參數(shù),用負(fù)數(shù)表示現(xiàn)金支出(如儲(chǔ)蓄存款),而用正數(shù)表示現(xiàn)金收入(如紅利支票)。

GetAllSettings 函數(shù)
從 Windows 注冊(cè)表 或 (Macintosh中)應(yīng)用程序初始化文件中的信息中返回應(yīng)用程序項(xiàng)目的所有注冊(cè)表項(xiàng)設(shè)置及其相應(yīng)值(開(kāi)始是由 SaveSetting 產(chǎn)生)。

語(yǔ)法

GetAllSettings(appname, section)

GetAllSettings 函數(shù)的語(yǔ)法具有下列命名參數(shù):

部分 描述
appname 必要。字符串表達(dá)式,包含應(yīng)用程序或工程的名稱,并要求這些應(yīng)用程序或工程有注冊(cè)表項(xiàng)設(shè)置 在Macintosh中,這是System文件夾中Preferences文件夾中初始化文件的文件名。
section 必要。字符串表達(dá)式,包含區(qū)域名稱,并要求該區(qū)域有注冊(cè)表項(xiàng)設(shè)置。GetAllSettings 返回 Variant,其內(nèi)容為字符串的二維數(shù)組,該二維數(shù)組包含指定區(qū)域中的所有注冊(cè)表項(xiàng)設(shè)置及其對(duì)應(yīng)值。

說(shuō)明

如果 appname 或 section 不存在,則 GetAllSettings 返回未初始化的 Variant。

GetAttr 函數(shù)
返回一個(gè) Integer,此為一個(gè)文件、目錄、或文件夾的屬性。

語(yǔ)法

GetAttr(pathname)

必要的 pathname 參數(shù)是用來(lái)指定一個(gè)文件名的字符串表達(dá)式。pathname 可以包含目錄或文件夾、以及驅(qū)動(dòng)器。

返回值

由 GetAttr 返回的值,是下面這些屬性值的總和:

常數(shù) 值 描述
vbNormal 0 常規(guī)
vbReadOnly 1 只讀
vbHidden 2 隱藏
vbSystem 4 系統(tǒng)文件 在 Macintosh 中不可用。
vbDirectory 16 目錄或文件夾
vbArchive 32 上次備份以后 在 Macintosh 中不可用.,文件已經(jīng)改變
vbalias 64 指定的文件名是別名。 只在 Macintosh中可用。

注意 這些常數(shù)是由 VBA 指定的,在程序代碼中的任何位置,可以使用這些常數(shù)來(lái)替換真正的值。
說(shuō)明

若要判斷是否設(shè)置了某個(gè)屬性,在 GetAttr 函數(shù)與想要得知的屬性值之間使用 And 運(yùn)算符與逐位比較。如果所得的結(jié)果不為零,則表示設(shè)置了這個(gè)屬性值。例如,在下面的 And 表達(dá)式中,如果檔案 (Archive) 屬性沒(méi)有設(shè)置,則返回值為零:

Result = GetAttr(FName) And vbArchive

如果文件的檔案屬性已設(shè)置,則返回非零的數(shù)值。

GetObject 函數(shù)
返回文件中的 ActiveX 對(duì)象的引用。

語(yǔ)法

GetObject([pathname] [, class])

GetObject 函數(shù)的語(yǔ)法包含下面幾個(gè)命名參數(shù):

部分 描述
pathname 可選的;Variant (String)。包含待檢索對(duì)象的文件的全路徑和名稱。如果省略 pathname,則 class 是必需的。
class 可選的;Variant (String)。代表該對(duì)象的類(lèi)的字符串。

其中,class 參數(shù)的語(yǔ)法格式為 appname.objecttype,且語(yǔ)法的各個(gè)部分如下: 部分 描述
appname 必需的;Variant (String)。提供該對(duì)象的應(yīng)用程序名稱。
objecttype 必需的;Variant (String)。待創(chuàng)建對(duì)象的類(lèi)型或類(lèi)。

說(shuō)明
使用 GetObject 函數(shù)可以訪問(wèn)文件中的 ActiveX 對(duì)象,而且可以將該對(duì)象賦給對(duì)象變量??梢允褂?Set 語(yǔ)句將 GetObject 返回的對(duì)象賦給對(duì)象變量。例如:

Dim CADObject As Object
Set CADObject = GetObject("C:/CAD/SCHEMA.CAD")

當(dāng)執(zhí)行上述代碼時(shí),就會(huì)啟動(dòng)與指定的 pathname 相關(guān)聯(lián)的應(yīng)用程序,同時(shí)激活指定文件中的對(duì)象。

如果 pathname 是一個(gè)零長(zhǎng)度的字符串 (""),則 GetObject 返回指定類(lèi)型的新的對(duì)象實(shí)例。如果省略了 pathname 參數(shù),則 GetObject 返回指定類(lèi)型的當(dāng)前活動(dòng)的對(duì)象。如果當(dāng)前沒(méi)有指定類(lèi)型的對(duì)象,就會(huì)出錯(cuò)。

有些應(yīng)用程序允許只激活文件的一部分,其方法是在文件名后加上一個(gè)驚嘆號(hào) (!) 以及用于標(biāo)識(shí)想要激活的文件部分的字符串。關(guān)于如何創(chuàng)建這種字符串的信息,請(qǐng)參閱有關(guān)應(yīng)用程序創(chuàng)建對(duì)象的文檔。

例如,在繪圖應(yīng)用程序中,一個(gè)存放在文件中的圖可能有多層??梢允褂孟率龃a來(lái)激活圖中被稱為 SCHEMA.CAD 的層:

Set LayerObject = GetObject("C:/CAD/SCHEMA.CAD!Layer3")

如果不指定對(duì)象的 class,則自動(dòng)化會(huì)根據(jù)所提供的文件名,來(lái)確定被啟動(dòng)的應(yīng)用程序以及被激活的對(duì)象。不過(guò),有些文件可能不止支持一種對(duì)象類(lèi)。例如,圖片可能支持三種不同類(lèi)型的對(duì)象:Application 對(duì)象,Drawing 對(duì)象,以及 Toolbar 對(duì)象,所有這些都是同一個(gè)文件中的一部分。為了說(shuō)明要具體激活文件中的哪種對(duì)象,就應(yīng)使用這個(gè)可選的 class 參數(shù)。例如:

Dim MyObject As Object
Set MyObject = GetObject("C:/DRAWINGS/SAMPLE.DRW", "FIGMENT.DRAWING")

在上述例子中,F(xiàn)IGMENT 是一個(gè)繪圖應(yīng)用程序的名稱,而 DRAWING 則是它支持的一種對(duì)象類(lèi)型。

對(duì)象被激活之后,就可以在代碼中使用所定義的對(duì)象變量來(lái)引用它。在前面的例子中,可以使用對(duì)象變量 MyObject 來(lái)訪問(wèn)這個(gè)新對(duì)象的屬性和方法。例如:

MyObject.Line 9, 90
MyObject.InsertText 9, 100, "Hello, world."
MyObject.SaveAs "C:/DRAWINGS/SAMPLE.DRW"

注意 當(dāng)對(duì)象當(dāng)前已有實(shí)例,或要?jiǎng)?chuàng)建已加載的文件的對(duì)象時(shí),就使用 GetObject 函數(shù)。如果對(duì)象當(dāng)前還沒(méi)有實(shí)例,或不想啟動(dòng)已加載文件的對(duì)象,則應(yīng)使用 CreateObject 函數(shù)。

如果對(duì)象已注冊(cè)為單個(gè)實(shí)例的對(duì)象,則不管執(zhí)行多少次 CreateObject,都只能創(chuàng)建該對(duì)象的一個(gè)實(shí)例。若使用單個(gè)實(shí)例對(duì)象,當(dāng)使用零長(zhǎng)度字符串 ("") 語(yǔ)法調(diào)用時(shí),GetObject 總是返回同一個(gè)實(shí)例,而若省略 pathname 參數(shù),就會(huì)出錯(cuò)。不能使用 GetObject 來(lái)獲取 Visual Basic 創(chuàng)建的類(lèi)的引用。

GetSetting 函數(shù)
從 Windows 注冊(cè)表中 或 (Macintosh中)應(yīng)用程序初始化文件中的信息的應(yīng)用程序項(xiàng)目返回注冊(cè)表項(xiàng)設(shè)置值。

語(yǔ)法

GetSetting(appname, section, key[, default])

GetSetting 函數(shù)的語(yǔ)法具有下列命名參數(shù):

部分 描述
appname 必要。字符串表達(dá)式,包含應(yīng)用程序或工程的名稱,要求這些應(yīng)用程序或工程有注冊(cè)表項(xiàng)設(shè)置。 在Macintosh中,這是System文件夾中Preferences文件夾中初始化文件的文件名。
section 必要。字符串表達(dá)式,包含區(qū)域名稱,要求該區(qū)域有注冊(cè)表項(xiàng)設(shè)置。
key 必要。字符串表達(dá)式,返回注冊(cè)表項(xiàng)設(shè)置的名稱。
default 可選。表達(dá)式,如果注冊(cè)表項(xiàng)設(shè)置中沒(méi)有設(shè)置值,則返回缺省值。如果省略,則 default 取值為長(zhǎng)度為零的字符串 ("")。

說(shuō)明
如果 GetSetting 的參數(shù)中的任何一項(xiàng)都不存在,則 GetSetting 返回 default 的值。

Hex 函數(shù)
返回代表十六進(jìn)制數(shù)值的 String。

語(yǔ)法

Hex(number)

必要的 number 參數(shù)為任何有效的數(shù)值表達(dá)式或字符串表達(dá)式。

說(shuō)明

如果 number 還不是一個(gè)整數(shù),那么在執(zhí)行前會(huì)先被四舍五入成最接近的整數(shù)。

如果 number 為 所得為
Null Null
Empty 零 (0)
任何其他的數(shù)字 最多可到八個(gè)十六進(jìn)制字符。

適當(dāng)范圍內(nèi)的數(shù)字,前綴以 &H,可以直接表示十六進(jìn)制數(shù)字。例如,十六進(jìn)制表示法的 &H10 代表十進(jìn)制的 16。
Hour 函數(shù)
返回一個(gè) Variant (Integer),其值為 0 到 23 之間的整數(shù),表示一天之中的某一鐘點(diǎn)。

語(yǔ)法

Hour(time)

必要的 time 參數(shù),可以是任何能夠表示時(shí)刻的 Variant、數(shù)值表達(dá)式、字符串表達(dá)式或它們的組合。如果 time 包含 Null,則返回 Null。

IIf 函數(shù)
根據(jù)表達(dá)式的值,來(lái)返回兩部分中的其中一個(gè)。

語(yǔ)法

IIf(expr, truepart, falsepart)

IIf 函數(shù)的語(yǔ)法含有下面這些命名參數(shù):

部分 描述
expr 必要參數(shù)。用來(lái)判斷真?zhèn)蔚谋磉_(dá)式。
truepart 必要參數(shù)。如果 expr 為 True,則返回這部分的值或表達(dá)式。
falsepart 必要參數(shù)。如果 expr 為 False,則返回這部分的值或表達(dá)式。

說(shuō)明
由于 IIf 會(huì)計(jì)算 truepart 和 falsepart,雖然它只返回其中的一個(gè)。因此要注意到這個(gè)副作用。例如,如果 falsepart 產(chǎn)生一個(gè)被零除錯(cuò)誤,那么程序就會(huì)發(fā)生錯(cuò)誤,即使 expr 為 True。

IMEStatus 函數(shù)
返回一個(gè) Integer,用來(lái)指定當(dāng)前 Microsoft Windows 的輸入法 (IME) 方式;只對(duì)東亞區(qū)版本有效。

語(yǔ)法

IMEStatus

返回值

下面是日本區(qū)域的返回值:

常數(shù) 值 描述
vbIMEModeNoControl 0 不控制IME(缺?。?
vbIMEModeOn 1 打開(kāi) IME
vbIMEModeOff 2 關(guān)閉 IME
vbIMEModeDisable 3 IME 無(wú)效
vbIMEModeHiragana 4 完整寬度 Hiragana 模式
vbIMEModeKatakana 5 完整寬度 Katakana 片假名模式
vbIMEModeKatakanaHalf mode 6 半寬 Katakana 模式
vbIMEModeAlphaFull mode 7 完整寬度 Alphanumeric 模式
vbIMEModeAlpha mode 8 半寬 Alphanumeric 模式

下面是韓國(guó)地區(qū)的返回值: 常數(shù) 值 描述
vbIMEModeAlphaFull 7 完整寬度 Alphanumeric 模式
vbIMEModeAlpha 8 半寬 Alphanumeric 模式
vbIMEModeHangulFull 9 完整寬度 Hangul 模式
vbIMEModeHangul 10 半寬 Hangul 模式

下面是中文地區(qū)的返回值: 常數(shù) 值 描述
vbIMEModeNoControl 0 不控制IME(缺?。?
vbIMEModeOn 1 打開(kāi) IME
vbIMEModeOff 2 關(guān)閉 IME

Input 函數(shù)
返回 String,它包含以 Input 或 Binary 方式打開(kāi)的文件中的字符。

語(yǔ)法

Input(number, [#]filenumber)

Input 函數(shù)的語(yǔ)法具有以下幾個(gè)部分:

部分 描述
number 必要。任何有效的數(shù)值表達(dá)式,指定要返回的字符個(gè)數(shù)。
filenumber 必要。任何有效的文件號(hào)。

說(shuō)明
通常用 Print # 或 Put 將 Input 函數(shù)讀出的數(shù)據(jù)寫(xiě)入文件。Input 函數(shù)只用于以 Input 或 Binary 方式打開(kāi)的文件。

與 Input # 語(yǔ)句不同,Input 函數(shù)返回它所讀出的所有字符,包括逗號(hào)、回車(chē)符、空白列、換行符、引號(hào)和前導(dǎo)空格等。

對(duì)于 Binary 訪問(wèn)類(lèi)型打開(kāi)的文件,如果試圖用 Input 函數(shù)讀出整個(gè)文件,則會(huì)在 EOF 返回 True 時(shí)產(chǎn)生錯(cuò)誤。在用 Input 讀出二進(jìn)制文件時(shí),要用 LOF 和 Loc 函數(shù)代替 EOF 函數(shù),而在使用 EOF 函數(shù)時(shí)要配合以 Get 函數(shù)。

注意 對(duì)于文本文件中包含的字節(jié)數(shù)據(jù)要使用 InputB 函數(shù)。對(duì)于 InputB 來(lái)說(shuō),number 指定的是要返回的字節(jié)個(gè)數(shù),而不是要返回的字符個(gè)數(shù)。

InputBox 函數(shù)
在一對(duì)話框來(lái)中顯示提示,等待用戶輸入正文或按下按鈕,并返回包含文本框內(nèi)容的 String。

語(yǔ)法

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

InputBox 函數(shù)的語(yǔ)法具有以下幾個(gè)命名參數(shù):

部分 描述
Prompt 必需的。作為對(duì)話框消息出現(xiàn)的字符串表達(dá)式。prompt 的最大長(zhǎng)度大約是 1024 個(gè)字符,由所用字符的寬度決定。如果 prompt 包含多個(gè)行,則可在各行之間用回車(chē)符 (Chr(13))、換行符 (Chr(10)) 或回車(chē)換行符的組合 (Chr(13) & Chr(10)) 來(lái)分隔。
Title 可選的。顯示對(duì)話框標(biāo)題欄中的字符串表達(dá)式。如果省略 title,則把應(yīng)用程序名放入標(biāo)題欄中。
Default 可選的。顯示文本框中的字符串表達(dá)式,在沒(méi)有其它輸入時(shí)作為缺省值。如果省略 default,則文本框?yàn)榭铡?
Xpos 可選的。數(shù)值表達(dá)式,成對(duì)出現(xiàn),指定對(duì)話框的左邊與屏幕左邊的水平距離。如果省略 xpos,則對(duì)話框會(huì)在水平方向居中。
Ypos 可選的。數(shù)值表達(dá)式,成對(duì)出現(xiàn),指定對(duì)話框的上邊與屏幕上邊的距離。如果省略 ypos,則對(duì)話框被放置在屏幕垂直方向距下邊大約三分之一的位置。
Helpfile 可選的。字符串表達(dá)式,識(shí)別幫助文件,用該文件為對(duì)話框提供上下文相關(guān)的幫助。如果已提供 helpfile,則也必須提供 context。
Context 可選的。數(shù)值表達(dá)式,由幫助文件的作者指定給某個(gè)幫助主題的幫助上下文編號(hào)。如果已提供 context,則也必須要提供 helpfile。

說(shuō)明
如果同時(shí)提供了 helpfile 與 context,用戶可以按 F1 (Windows) or HELP (Macintosh) 來(lái)查看與 context 相應(yīng)的幫助主題。某些主應(yīng)用程序,例如,Microsoft Excel,會(huì)在對(duì)話框中自動(dòng)添加一個(gè) Help 按鈕。如果用戶單擊 OK 或按下ENTER ,則 InputBox 函數(shù)返回文本框中的內(nèi)容。如果用戶單擊 Cancel,則此函數(shù)返回一個(gè)長(zhǎng)度為零的字符串 ("")。

注意 如果還要指定第一個(gè)命名參數(shù)以外的參數(shù),則必須在表達(dá)式中使用 InputBox。如果要省略某些位置參數(shù),則必須加入相應(yīng)的逗號(hào)分界符。

InStr 函數(shù)
返回 Variant (Long),指定一字符串在另一字符串中最先出現(xiàn)的位置。

語(yǔ)法

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

InStr 函數(shù)的語(yǔ)法具有下面的參數(shù):

部分 說(shuō)明
start 可選參數(shù)。為數(shù)值表達(dá)式,設(shè)置每次搜索的起點(diǎn)。如果省略,將從第一個(gè)字符的位置開(kāi)始。如果 start 包含 Null,將發(fā)生錯(cuò)誤。如果指定了 compare 參數(shù),則一定要有 start 參數(shù)。
string1 必要參數(shù)。接受搜索的字符串表達(dá)式。
string2 必要參數(shù)。被搜索的字符串表達(dá)式。
Compare 可選參數(shù)。指定字符串比較。如果 compare 是 Null,將發(fā)生錯(cuò)誤。如果省略 compare,Option Compare 的設(shè)置將決定比較的類(lèi)型。指定一個(gè)有效的LCID (LocaleID) 以在比較中使用與區(qū)域有關(guān)的規(guī)則。

設(shè)置
compare 參數(shù)設(shè)置為:

常數(shù) 值 描述
vbUseCompareOption -1 使用Option Compare 語(yǔ)句設(shè)置執(zhí)行一個(gè)比較。
vbBinaryCompare 0 執(zhí)行一個(gè)二進(jìn)制比較。
vbTextCompare 1 執(zhí)行一個(gè)按照原文的比較。
vbDatabaseCompare 2 僅適用于Microsoft Access,執(zhí)行一個(gè)基于數(shù)據(jù)庫(kù)中信息的比較。

返回值 如果 InStr返回
string1 為零長(zhǎng)度 0
string1 為 Null Null
string2 為零長(zhǎng)度 Start
string2 為 Null Null
string2 找不到 0
在 string1 中找到string2 找到的位置
start > string2 0
 
說(shuō)明

InStrB 函數(shù)作用于包含在字符串中的字節(jié)數(shù)據(jù)。所以 InStrB 返回的是字節(jié)位置,而不是字符位置。

InStrRev函數(shù)
描述

返回一個(gè)字符串在另一個(gè)字符串中出現(xiàn)的位置,從字符串的末尾算起。

語(yǔ)法

InstrRev(stringcheck, stringmatch[, start[, compare]])

InstrRev函數(shù)語(yǔ)法有如下命名參數(shù):

部分 描述
stringcheck 必需的。要執(zhí)行搜索的字符串表達(dá)式。
stringmatch 必需的。要搜索的字符串表達(dá)式。
start 可選的。數(shù)值表達(dá)式,設(shè)置每次搜索的開(kāi)始位置。如果忽略,則使用–1,它表示從上一個(gè)字符位置開(kāi)始搜索。如果start包含
Null,則產(chǎn)生一個(gè)錯(cuò)誤。

compare 可選的。數(shù)字值,指出在判斷子字符串時(shí)所使用的比較方法。如果忽略,則執(zhí)行二進(jìn)制比較。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。

設(shè)置值
compare參數(shù)值如下:

常數(shù) 值 描述
vbUseCompareOption –1 用Option Compare語(yǔ)句的設(shè)置值來(lái)執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 只用于Microsoft Access?;谀臄?shù)據(jù)庫(kù)信息執(zhí)行比較。

返回值
InStrRev返回值如下:

如果 InStrRev返回
stringcheck 長(zhǎng)度為零。 0
stringcheck 為Null。 Null
stringmatch 長(zhǎng)度為零 Start
stringmatch 為Null Null
stringmatch 沒(méi)有找到。 0
stringmatch 在 stringcheck 中找到。 找到匹配字符串的位置。
start > Len(stringmatch) 0

說(shuō)明
請(qǐng)注意,InstrRev函數(shù)的語(yǔ)法和Instr函數(shù)的語(yǔ)法不相同。

IPmt 函數(shù)
返回一個(gè) Double,指定在一段時(shí)間內(nèi)對(duì)定期定額支付且利率固定的年金所支付的利息值。

語(yǔ)法

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

IPmt 函數(shù)有下列命名參數(shù):

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一筆貸款年百分率 (APR) 為百分之十且按月付款的汽車(chē)貸款,則每一期的利率為 0.1/12,或 0.0083。
per 必要。Double 指定在 nper 間范圍 1 中的付款周期。
nper 必要。Double 指定一筆年金的付款總期數(shù)。例如,如果在一筆為期四年的汽車(chē)貸款中選擇按月付款方式,則貸款共有 4 * 12(或 48)個(gè)付款期。
pv 必要。Double,指定未來(lái)一系列付款或收款的現(xiàn)值。例如,當(dāng)借錢(qián)買(mǎi)汽車(chē)時(shí),向貸方所借金額為將來(lái)每月償付給貸方款項(xiàng)的現(xiàn)值。
fv 可選。Variant 指定在付清貸款后所希望的未來(lái)值或現(xiàn)金結(jié)存。例如,貸款的未來(lái)值在貸款付清后為 0 美元。但是,如果想要在 18 年間存下 50,000 美元作為子女教育基金,那么 50,000 美元為未來(lái)值。如果省略的話,缺省值為 0。
type 可選。Variant 指定貸款到期時(shí)間。如果貸款在貸款周期結(jié)束時(shí)到期,請(qǐng)使用 0。如果貸款在周期開(kāi)始時(shí)到期,請(qǐng)使用 1。如果省略的話,缺省值為 0。

說(shuō)明
年金是指在一段時(shí)間內(nèi)的一系列固定現(xiàn)金支付。年金可以是貸款(如房屋抵押貸款),也可以是一筆投資(如按月儲(chǔ)蓄計(jì)劃)。

在支付期間必須用相同的單位計(jì)算 rate 和 nper 參數(shù)。例如,如果 rate 用月份計(jì)算,則 nper 也必須用月份計(jì)算。

對(duì)所有參數(shù),用負(fù)數(shù)表示現(xiàn)金支出(如儲(chǔ)蓄存款),而用正數(shù)表示現(xiàn)金收入(如紅利支票)。

IRR 函數(shù)
返回一個(gè) Double,指定一系列周期性現(xiàn)金流(支出或收入)的內(nèi)部利率。

語(yǔ)法

IRR(values()[, guess])

IRR 函數(shù)有下列命名參數(shù):

部分 描述
values() 必要。Double 數(shù)組,指定現(xiàn)金流值。此數(shù)組必須至少含有一個(gè)負(fù)值(支付)和一個(gè)正值(收入)。
Guess 可選。Variant,指定 IRR 返回的估算值。如果省略,guess 為 0.1 (10%)。

說(shuō)明

返回的內(nèi)部利率是在正常的時(shí)間間隔內(nèi),一筆含有支出及收入的投資得到的利率。

IRR 函數(shù)使用數(shù)組中數(shù)值的順序來(lái)解釋支付和收入的順序。要確保支付和收入的順序正確。每一時(shí)期的現(xiàn)金流不必像年金那樣固定不變。

IRR 是利用疊代進(jìn)行計(jì)算。先從 guess 的值開(kāi)始,IRR 反復(fù)循環(huán)進(jìn)行計(jì)算,直到精確度達(dá)到 0.00001%。如果經(jīng)過(guò) 20 次反復(fù)疊代測(cè)試還不能得到結(jié)果,則 IRR 計(jì)算失敗。

IsArray 函數(shù)
返回 Boolean 值,指出變量是否為一個(gè)數(shù)組。

語(yǔ)法

IsArray(varname)

必要的 varname 參數(shù)是一個(gè)指定變量的標(biāo)識(shí)符。

說(shuō)明

如果變量是數(shù)組,則 IsArray 返回 True;否則返回 False。對(duì)于包含數(shù)組的 variant 表達(dá)式來(lái)說(shuō),IsArray 尤為有用。

IsDate 函數(shù)
返回 Boolean 值,指出一個(gè)表達(dá)式是否可以轉(zhuǎn)換成日期。

語(yǔ)法

IsDate(expression)

必要的 expression 參數(shù)是一個(gè) Variant,包含日期表達(dá)式或字符串表達(dá)式,這里的字符串表達(dá)式是可以作為日期或時(shí)間來(lái)認(rèn)定的。

說(shuō)明

如果表達(dá)式是一個(gè)日期,或可以作為有效日期識(shí)別,則 IsDate 返回 True;否則返回 False。在 Microsoft Windows 中,有效日期的范圍介于公元 100 年 1 月 1 日與公元 9999 年 12 月 31 日之間;其有效范圍隨操作系統(tǒng)不同而不同。

IsEmpty 函數(shù)
返回 Boolean 值,指出變量是否已經(jīng)初始化。

語(yǔ)法

IsEmpty(expression)

必要的 expression 參數(shù)是一個(gè) Variant,包含一個(gè)數(shù)值或字符串表達(dá)式。但是,因?yàn)?IsEmpty 被用來(lái)確定個(gè)別變量是否已初始化,所以 expression 參數(shù)通常是單一變量名。

說(shuō)明

如果變量未初始化或已明確設(shè)置為 Empty,則 IsEmpty 返回 True;否則返回 False。如果 expression 含有多個(gè)變量,則 IsEmpty 總是返回 False。IsEmpty 只返回對(duì) variant 表達(dá)式有意義的信息。

IsError 函數(shù)
返回 Boolean 值,指出表達(dá)式是否為一個(gè)錯(cuò)誤值。

語(yǔ)法

IsError(expression)

必需的 expression 參數(shù),可以是任何有效表達(dá)式。

說(shuō)明

利用 CVErr 函數(shù)將實(shí)數(shù)轉(zhuǎn)換成錯(cuò)誤值就會(huì)建立錯(cuò)誤值。IsError 函數(shù)被用來(lái)確定一個(gè)數(shù)值表達(dá)式是否表示一個(gè)錯(cuò)誤。如果 expression 參數(shù)表示一個(gè)錯(cuò)誤,則 IsError 返回 True;否則返回 False。

IsMissing 函數(shù)
返回 Boolean 值,指出一個(gè)可選的 Variant 參數(shù)是否已經(jīng)傳遞給過(guò)程。

語(yǔ)法

IsMissing(argname)

必要的 argname 參數(shù)包含一個(gè)可選的 Variant 過(guò)程參數(shù)名。

說(shuō)明

使用 IsMissing 函數(shù)來(lái)檢測(cè)在調(diào)用一個(gè)程序時(shí)是否提供了可選 Variant 參數(shù)。如果對(duì)特定參數(shù)沒(méi)有傳遞值過(guò)去,則 IsMissing 返回 True;否則返回 False。如果 IsMissing 對(duì)某個(gè)參數(shù)返回 True,則在其它代碼中使用這個(gè)丟失的參數(shù)將產(chǎn)生一個(gè)用戶自定義的錯(cuò)誤。如果對(duì) ParamArray 參數(shù)使用 IsMissing,則函數(shù)總是返回 False。為了檢測(cè)空的 ParamArray,可試看一下數(shù)組的上界是否小于它的下界。

注意 IsMissing 對(duì)簡(jiǎn)單數(shù)據(jù)類(lèi)型(例如 Integer或Double)不起作用,因?yàn)榕cVariants不同,它們沒(méi)有“丟失”標(biāo)志位的前提。正由于此,對(duì)于可選參數(shù)類(lèi)型,可以指定缺省值。如果調(diào)用過(guò)程時(shí),參數(shù)被忽略,則該參數(shù)將具有該缺省值,如下列示例中所示:

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

在許多情況下,如果用戶從函數(shù)調(diào)用中忽略,則可以通過(guò)使缺省值等于希望 MyVar 所包含的值來(lái)完全忽略 If MyVar 測(cè)試。這將使您的代碼更簡(jiǎn)潔有效。

IsNull 函數(shù)
返回 Boolean 值,指出表達(dá)式是否不包含任何有效數(shù)據(jù) (Null)。

語(yǔ)法

IsNull(expression)

必要的 expression 參數(shù)是一個(gè) Variant,其中包含數(shù)值表達(dá)式或字符串表達(dá)式。

說(shuō)明

如果 expression 為 Null,則 IsNull 返回 True;否則 IsNull 返回 False。如果 expression 由多個(gè)變量組成,則表達(dá)式的任何作為變量組成成分的 Null 都會(huì)使整個(gè)表達(dá)式返回 True。

Null 值指出 Variant 不包含有效數(shù)據(jù)。Null 與 Empty 不同,后者指出變量尚未初始化。Null 與長(zhǎng)度為零的字符串 (““) 也不同,長(zhǎng)度為零的字符串指的是空串。

重要 使用 IsNull 函數(shù)是為了確定表達(dá)式是否包含 Null 值的。在某些情況下,希望表達(dá)式取值為 True,比如希望 If Var = Null 和 If Var <> Null 取值為 True,而它們總?cè)≈禐?False。這是因?yàn)槿魏伟?Null 的表達(dá)式本身就是 Null,所以為 False。

IsNumeric 函數(shù)
返回 Boolean 值,指出表達(dá)式的運(yùn)算結(jié)果是否為數(shù)。

語(yǔ)法

IsNumeric(expression)

必要的 expression 參數(shù)是一個(gè) Variant,包含數(shù)值表達(dá)式或字符串表達(dá)式。

說(shuō)明

如果整個(gè) expression 的運(yùn)算結(jié)果為數(shù)字,則 IsNumeric 返回 True;否則返回 False。

如果 expression 是日期表達(dá)式,則 IsNumeric 返回 False。

IsObject 函數(shù)
返回 Boolean 值,指出標(biāo)識(shí)符是否表示對(duì)象變量。

語(yǔ)法

IsObject(identifier)

必要的 identifier 參數(shù)是一個(gè)變量名。

說(shuō)明

IsObject 只用于確定 Variant 是否屬于 VarType vbObject。如果 Variant 實(shí)際引用(或曾經(jīng)引用過(guò))一個(gè)對(duì)象,或者如果 Variant 包含 Nothing,則可能出現(xiàn)這種情況。

如果 identifier 是 Object類(lèi)型或任何有效的類(lèi)類(lèi)型,或者,如果 identifier 是 VarType vbObject 的 Variant 或用戶自定義的對(duì)象,則 IsObject 返回 True;否則返回 False。即使變量已設(shè)置成 Nothing,IsObject 也仍返回 True。

使用錯(cuò)誤捕獲方法可以確認(rèn)對(duì)象引用是否有效。

Join函數(shù)
描述

返回一個(gè)字符串,該字符串是通過(guò)連接某個(gè)數(shù)組中的多個(gè)子字符串而創(chuàng)建的。

語(yǔ)法

Join(sourcearray[, delimiter])

Join函數(shù)語(yǔ)法有如下命名參數(shù):

部分 描述
sourcearray 必需的。包含被連接子字符串的一維數(shù)組。
delimiter 可選的。在返回字符串中用于分隔子字符串的字符。如果忽略該項(xiàng),則使用空格(" ")來(lái)分隔子字符串。如果delimiter是零長(zhǎng)度字符串(""),則列表中的所有項(xiàng)目都連接在一起,中間沒(méi)有分隔符。

LBound 函數(shù)
返回一個(gè) Long 型數(shù)據(jù),其值為指定數(shù)組維可用的最小下標(biāo)。

語(yǔ)法

LBound(arrayname[, dimension])

LBound 函數(shù)的語(yǔ)法包含下面部分:

部分 描述
arrayname 必需的。數(shù)組變量的名稱,遵循標(biāo)準(zhǔn)的變量命名約定。
dimension 可選的;Variant (Long)。指定返回哪一維的下界。1 表示第一維,2 表示第二維,如此類(lèi)推。如果省略 dimension,就認(rèn)為是 1。

說(shuō)明
LBound 函數(shù)與 UBound 函數(shù)一起使用,用來(lái)確定一個(gè)數(shù)組的大小。UBound 用來(lái)確定數(shù)組某一維的上界。

對(duì)具有下述維數(shù)的數(shù)組而言,LBound 的返回值見(jiàn)下表:

Dim A(1 To 100, 0 To 3, -3 To 4)

語(yǔ)句 返回值
LBound(A, 1) 1
LBound(A, 2) 0
LBound(A, 3) -3

所有維的缺省下界都是 0 或 1,這取決于 Option Base 語(yǔ)句的設(shè)置。使用 Array 函數(shù)創(chuàng)建的數(shù)組的下界為 0;它不受 Option Base 的影響。
對(duì)于那些在 Dim 中用 To 子句來(lái)設(shè)定維數(shù)的數(shù)組而言,Private、Public、ReDim 或 Static 語(yǔ)句可以用任何整數(shù)作為下界。

LCase 函數(shù)
返回轉(zhuǎn)成小寫(xiě)的 String。

語(yǔ)法

LCase(string)

必要的 string 參數(shù)可以是任何有效的字符串表達(dá)式。如果 string 包含 Null,將返回 Null。

說(shuō)明

只有大寫(xiě)的字母會(huì)轉(zhuǎn)成小寫(xiě);所有小寫(xiě)字母和非字母字符保持不變。

Left 函數(shù)
返回 Variant (String),其中包含字符串中從左邊算起指定數(shù)量的字符。

語(yǔ)法

Left(string, length)

Left 函數(shù)的語(yǔ)法有下面的命名參數(shù):

部分 說(shuō)明
string 必要參數(shù)。字符串表達(dá)式其中最左邊的那些字符將被返回。如果 string 包含 Null,將返回 Null。
length 必要參數(shù);為 Variant (Long)。數(shù)值表達(dá)式,指出將返回多少個(gè)字符。如果為 0,返回零長(zhǎng)度字符串 ("")。如果大于或等于 string 的字符數(shù),則返回整個(gè)字符串。

說(shuō)明

欲知 string 的字符數(shù),使用 Len 函數(shù)。

注意 LeftB 函數(shù)作用于包含在字符串中的字節(jié)數(shù)據(jù)。所以 length 指定的是字節(jié)數(shù),而不是要返回的字符數(shù)。

Len 函數(shù)
返回 Long,其中包含字符串內(nèi)字符的數(shù)目,或是存儲(chǔ)一變量所需的字節(jié)數(shù)。

語(yǔ)法

Len(string | varname)

Len 函數(shù)的語(yǔ)法有下面這些部分:

部分 說(shuō)明
string 任何有效的字符串表達(dá)式。如果 string 包含 Null,會(huì)返回 Null。
Varname 任何有效的變量名稱。如果 varname 包含 Null,會(huì)返回 Null。如果 varname 是 Variant,Len 會(huì)視其為 String 并且總是返回其包含的字符數(shù)。

說(shuō)明
兩個(gè)可能的參數(shù)必須有其一(而且只能有其一)。如為用戶定義類(lèi)型,Len 會(huì)返回其寫(xiě)至文件的大小。

注意 LenB 函數(shù)作用于字符串中的字節(jié)數(shù)據(jù),如同在雙字節(jié)字符集(DBCS)語(yǔ)言中一樣。所以 LenB 返回的是用于代表字符串的字節(jié)數(shù),而不是返回字符串中字符的數(shù)量。如為用戶自定義類(lèi)型,LenB 返回在內(nèi)存中的大小,包括元素之間的襯墊。對(duì)于使用 LenB的示例代碼,請(qǐng)參閱示例主題中的第二個(gè)示例。

注意 當(dāng)在用戶自定義數(shù)據(jù)類(lèi)型中使用變長(zhǎng)字符串時(shí),Len 可能不能確定實(shí)際存儲(chǔ)所需的字節(jié)數(shù)目。

Loc 函數(shù)
返回一個(gè) Long,在已打開(kāi)的文件中指定當(dāng)前讀/寫(xiě)位置。

語(yǔ)法

Loc(filenumber)

必要的 filenumber 參數(shù)是任何一個(gè)有效的 Integer 文件號(hào)。

說(shuō)明

Loc 函數(shù)對(duì)各種文件訪問(wèn)方式的返回值如下:

方式 返回值
Random 上一次對(duì)文件進(jìn)行讀出或?qū)懭氲挠涗浱?hào)。
Sequential 文件中當(dāng)前字節(jié)位置除以 128 的值。但是,對(duì)于順序文件而言,不會(huì)使用 Loc 的返回值,也不需要使用 Loc 的返回值。
Binary 上一次讀出或?qū)懭氲淖止?jié)位置。

LOF 函數(shù)
返回一個(gè) Long,表示用 Open 語(yǔ)句打開(kāi)的文件的大小,該大小以字節(jié)為單位。

語(yǔ)法

LOF(filenumber)

必要的 filenumber 參數(shù)是一個(gè) Integer,包含一個(gè)有效的文件號(hào)。

注意 對(duì)于尚未打開(kāi)的文件,使用 FileLen 函數(shù)將得到其長(zhǎng)度。

Log 函數(shù)
返回一個(gè) Double,指定參數(shù)的自然對(duì)數(shù)值。

語(yǔ)法

Log(number)

必要的 number 參數(shù)是 Double 或任何有效的大于 0 的數(shù)值表達(dá)式。

說(shuō)明

自然對(duì)數(shù)是以 e 為底的對(duì)數(shù)。常數(shù) e 的值大約是 2.718282。

如下所示,將 x 的自然對(duì)數(shù)值除以 n 的自然對(duì)數(shù)值,就可以對(duì)任意底 n 來(lái)計(jì)算數(shù)值 x 的對(duì)數(shù)值:

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

下面的示例說(shuō)明如何編寫(xiě)一個(gè)函數(shù)來(lái)求以 10 為底的對(duì)數(shù)值:

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

LTrim、RTrim與 Trim 函數(shù)
返回 Variant (String),其中包含指定字符串的拷貝,沒(méi)有前導(dǎo)空白 (LTrim)、尾隨空白 (RTrim) 或前導(dǎo)和尾隨空白 (Trim)。

語(yǔ)法

LTrim(string)

RTrim(string)

Trim(string)

必要的 string 參數(shù)可以是任何有效的字符串表達(dá)式。如果 string 包含 Null,將返回 Null。

MacID 函數(shù)
此函數(shù)用在 Macintosh 上,將長(zhǎng)為4個(gè)字符的常量 轉(zhuǎn)換成被 Dir, Kill, Shell, 和 AppActivate.使用的值。

語(yǔ)法

MacID(常量)

所需的常量參數(shù)包含4個(gè)字符,用來(lái)說(shuō)明一個(gè)資源類(lèi)型、文件類(lèi)型、數(shù)字簽名或 Apple Event,例如: “TEXT”、 “OBIN”,Excel 文件用 "XLS5" 說(shuō)明(Excel 97用 "XLS8" 說(shuō)明), Microsoft Word 用 "W6BN" 說(shuō)明(Word 97用 "W8BN" 說(shuō)明),如此等等.

注釋

MacID 與 Dir 和 Kill 一起被用來(lái)說(shuō)明一個(gè) Macintosh 的文件類(lèi)型。盡管 Macintosh 不支持 * 和 ? 作為通配符,您仍可以用4個(gè)字符常量替代說(shuō)明一組文件。例如,下面的指令從當(dāng)前的文件夾中返回 TEXT 類(lèi)型的文件:

Dir("SomePath", MacID("TEXT"))

MacID 與 Shell 和 AppActivate 一起被用來(lái)說(shuō)明一個(gè)應(yīng)用使用此應(yīng)用的唯一簽名。

Macs cript 函數(shù)
執(zhí)行一個(gè)腳本并返回由此腳本返回的值,如果腳本有返回值的話。

語(yǔ)法

Macs cript 腳本

參數(shù)腳本是一個(gè)字符串表達(dá)式。此字符串表達(dá)式既可以是一系列 Apples cript 的命令,也可以說(shuō)明成 Apples cript 腳本或一個(gè)腳本文件的名字。

Remarks

多行腳本可由嵌入回車(chē)字符(Chr(13))生成。

Mid 函數(shù)
返回 Variant (String),其中包含字符串中指定數(shù)量的字符。

語(yǔ)法

Mid(string, start[, length])

Mid 函數(shù)的語(yǔ)法具有下面的命名參數(shù):

部分 說(shuō)明
string 必要參數(shù)。字符串表達(dá)式,從中返回字符。如果 string 包含 Null,將返回 Null。
start 必要參數(shù)。為 Long。string 中被取出部分的字符位置。如果 start 超過(guò) string 的字符數(shù),Mid 返回零長(zhǎng)度字符串 ("")。
length 可選參數(shù);為 Variant (Long)。要返回的字符數(shù)。如果省略或 length 超過(guò)文本的字符數(shù)(包括 start 處的字符),將返回字符串中從 start 到尾端的所有字符。

說(shuō)明

欲知 string 的字符數(shù),可用 Len 函數(shù)。

注意 MidB 函數(shù)作用于字符串中包含的字節(jié)數(shù)據(jù),如同在雙字節(jié)字符集(DBCS)語(yǔ)言中一樣。因此其參數(shù)指定的是字節(jié)數(shù),而不是字符數(shù)。對(duì)于使用 MidB的示例代碼,請(qǐng)參閱示例主題中的第二個(gè)示例。

Minute 函數(shù)
返回一個(gè) Variant (Integer),其值為 0 到 59 之間的整數(shù),表示一小時(shí)中的某分鐘。

語(yǔ)法

Minute(time)

必要的 time 參數(shù),可以是任何能夠表示時(shí)刻的 Variant、數(shù)值表達(dá)式、字符串表達(dá)式或它們的組合。如果 time 包含 Null,則返回 Null。

MIRR 函數(shù)
返回一個(gè) Double,指定一系列修改過(guò)的周期性現(xiàn)金流(支出或收入)的內(nèi)部利率。

語(yǔ)法

MIRR(values(), finance_rate, reinvest_rate)

MIRR 函數(shù)有下列命名參數(shù):

部分 描述
values() 必要。Double 數(shù)組,指定現(xiàn)金流值。此數(shù)組至少要包含一個(gè)負(fù)值(支付)和一個(gè)正值(收入)。
finance_rate 必要。Double 指定財(cái)務(wù)成本上的支付利率。
reinvest_rate 必要。Double 指定由現(xiàn)金再投資所得利率。

說(shuō)明
修改過(guò)的返回內(nèi)部利率是指在用不同的利率計(jì)算支出和收入時(shí)的內(nèi)部利率。MIRR 函數(shù)既考慮投資成本 (finance_rate),也考慮現(xiàn)金再投資所得利率 (reinvest_rate)。

finance_rate 和 reinvest_rate 參數(shù)是用十進(jìn)制數(shù)值表示的百分比。例如,0.12 表示百分之十二。

MIRR 函數(shù)用數(shù)組中的數(shù)值順序來(lái)解釋支付和收入的順序。要確保支付和收入的輸入順序正確。

Month 函數(shù)
返回一個(gè) Variant (Integer),其值為 1 到 12 之間的整數(shù),表示一年中的某月。

語(yǔ)法

Month(date)

必要的 date 參數(shù),可以是任何能夠表示日期的 Variant、數(shù)值表達(dá)式、字符串表達(dá)式或它們的組合。如果 date 包含 Null,則返回 Null。

MonthName函數(shù)
描述

返回一個(gè)表示指定月份的字符串。

語(yǔ)法

MonthName(month[, abbreviate])

MonthName函數(shù)語(yǔ)法有如下幾部分:

部分 描述
month 必需的。月份的數(shù)值表示。例如一月是1,二月是2,等等。
abbreviate 可選的。Boolean值,表示月份名是否縮寫(xiě)。如果忽略,缺省值為False,表明月份名不能被縮寫(xiě)。

MsgBox 函數(shù)
在對(duì)話框中顯示消息,等待用戶單擊按鈕,并返回一個(gè) Integer 告訴用戶單擊哪一個(gè)按鈕。

語(yǔ)法

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

MsgBox 函數(shù)的語(yǔ)法具有以下幾個(gè)命名參數(shù):

部分 描述
Prompt 必需的。字符串表達(dá)式,作為顯示在對(duì)話框中的消息。prompt 的最大長(zhǎng)度大約為 1024 個(gè)字符,由所用字符的寬度決定。如果 prompt 的內(nèi)容超過(guò)一行,則可以在每一行之間用回車(chē)符 (Chr(13))、換行符 (Chr(10)) 或是回車(chē)與換行符的組合 (Chr(13) & Chr(10)) 將各行分隔開(kāi)來(lái)。
Buttons 可選的。數(shù)值表達(dá)式是值的總和,指定顯示按鈕的數(shù)目及形式,使用的圖標(biāo)樣式,缺省按鈕是什么以及消息框的強(qiáng)制回應(yīng)等。如果省略,則 buttons 的缺省值為 0。
Title 可選的。在對(duì)話框標(biāo)題欄中顯示的字符串表達(dá)式。如果省略 title,則將應(yīng)用程序名放在標(biāo)題欄中。
Helpfile 可選的。字符串表達(dá)式,識(shí)別用來(lái)向?qū)υ捒蛱峁┥舷挛南嚓P(guān)幫助的幫助文件。如果提供了 helpfile,則也必須提供 context。
Context 可選的。數(shù)值表達(dá)式,由幫助文件的作者指定給適當(dāng)?shù)膸椭黝}的幫助上下文編號(hào)。如果提供了 context,則也必須提供 helpfile。

設(shè)置值
buttons 參數(shù)有下列設(shè)置值:

常數(shù) 值 描述
vbOKOnly 0 只顯示 OK 按鈕。
VbOKCancel 1 顯示 OK 及 Cancel 按鈕。
VbAbortRetryIgnore 2 顯示 Abort、Retry 及 Ignore 按鈕。
VbYesNoCancel 3 顯示 Yes、No 及 Cancel 按鈕。
VbYesNo 4 顯示 Yes 及 No 按鈕。
VbRetryCancel 5 顯示 Retry 及 Cancel 按鈕。
VbCritical 16 顯示 Critical Message 圖標(biāo)。
VbQuestion 32 顯示 Warning Query 圖標(biāo)。
VbExclamation 48 顯示 Warning Message 圖標(biāo)。
VbInformation 64 顯示 Information Message 圖標(biāo)。
vbDefaultButton1 0 第一個(gè)按鈕是缺省值。
vbDefaultButton2 256 第二個(gè)按鈕是缺省值。
vbDefaultButton3 512 第三個(gè)按鈕是缺省值。
vbDefaultButton4 768 第四個(gè)按鈕是缺省值。

vbApplicationModal 0 應(yīng)用程序強(qiáng)制返回;應(yīng)用程序一直被掛起,直到用戶對(duì)消息框作出響應(yīng)才繼續(xù)工作。
vbSystemModal 4096 系統(tǒng)強(qiáng)制返回;全部應(yīng)用程序都被掛起,直到用戶對(duì)消息框作出響應(yīng)才繼續(xù)工作。
vbMsgBoxHelpButton 16384 將Help按鈕添加到消息框
VbMsgBoxSetForeground 65536 指定消息框窗口作為前景窗口
vbMsgBoxRight 524288 文本為右對(duì)齊
vbMsgBoxRtlReading 1048576 指定文本應(yīng)為在希伯來(lái)和阿拉伯語(yǔ)系統(tǒng)中的從右到左顯示

第一組值 (0–5) 描述了對(duì)話框中顯示的按鈕的類(lèi)型與數(shù)目;第二組值 (16, 32, 48, 64) 描述了圖標(biāo)的樣式;第三組值 (0, 256, 512) 說(shuō)明哪一個(gè)按鈕是缺省值;而第四組值 (0, 4096) 則決定消息框的強(qiáng)制返回性。將這些數(shù)字相加以生成 buttons 參數(shù)值的時(shí)候,只能由每組值取用一個(gè)數(shù)字。
注意 這些常數(shù)都是 Visual Basic for Applications (VBA) 指定的。結(jié)果,可以在程序代碼中到處使用這些常數(shù)名稱,而不必使用實(shí)際數(shù)值。

返回值

常數(shù) 值 描述
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Abort
vbRetry 4 Retry
vbIgnore 5 Ignore
vbYes 6 Yes
vbNo 7 No

說(shuō)明
在提供了 helpfile 與 context 的時(shí)候,用戶可以按 F1(Windows) or HELP (Macintosh) 來(lái)查看與 context 相應(yīng)的幫助主題。像 Microsoft Excel 這樣一些主應(yīng)用程序也會(huì)在對(duì)話框中自動(dòng)添加一個(gè) Help 按鈕。

如果對(duì)話框顯示 Cancel 按鈕,則按下 ESC 鍵與單擊 Cancel 按鈕的效果相同。如果對(duì)話框中有 Help 按鈕,則對(duì)話框中提供有上下文相關(guān)的幫助。但是,直到其它按鈕中有一個(gè)被單擊之前,都不會(huì)返回任何值。

注意 如果還要指定第一個(gè)命名參數(shù)以外的參數(shù),則必須在表達(dá)式中使用 MsgBox。為了省略某些位置參數(shù),必須加入相應(yīng)的逗號(hào)分界符。

Now 函數(shù)
返回一個(gè) Variant (Date),根據(jù)計(jì)算機(jī)系統(tǒng)設(shè)置的日期和時(shí)間來(lái)指定日期和時(shí)間。

語(yǔ)法

Now

NPer 函數(shù)
返回一個(gè) Double,指定定期定額支付且利率固定的總期數(shù)。

語(yǔ)法

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

NPer 函數(shù)有下列命名參數(shù):

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一筆貸款年百分率 (APR) 為百分之十并按月付款的汽車(chē)貸款,則每一期的利率為 0.1/12 或 0.0083。
pmt 必要。Double 指定每一期所付金額。付款金額通常包含本金和利息,且付款金額在年金的有效期間不變。
pv 必要。Double 指定未來(lái)一系列付款或收款的現(xiàn)值。例如,當(dāng)貸款買(mǎi)一輛汽車(chē)時(shí),向貸方所借貸的金額為將來(lái)每月償付給貸方款項(xiàng)的現(xiàn)值。
fv 可選。Variant 指定在付清貸款后所希望的未來(lái)值或現(xiàn)金結(jié)存。例如,貸款的未來(lái)值在貸款付清后為 0 美元。但是,如果想要在 18 年間存下 50,000 美元作為子女教育基金,那么 50,000 美元為未來(lái)值。如果省略的話,缺省值為 0。
type 可選。Variant 指定貸款到期時(shí)間。如果貸款是在貸款周期結(jié)束時(shí)到期,請(qǐng)使用 0,如果貸款是在周期開(kāi)始時(shí)到期,請(qǐng)使用 1。如果省略的話,缺省值為 0。

說(shuō)明

年金是在一段時(shí)間內(nèi)一系列固定現(xiàn)金支付。年金可以是貸款(如房屋抵押貸款),也可以是一筆投資(如按月儲(chǔ)蓄計(jì)劃)。

對(duì)所有參數(shù),用負(fù)數(shù)表示現(xiàn)金支出(如儲(chǔ)蓄存款),而用正數(shù)表示現(xiàn)金收入(如紅利支票)。

NPV 函數(shù)
返回一個(gè) Double,指定根據(jù)一系列定期的現(xiàn)金流(支付和收入)和貼現(xiàn)率而定的投資凈現(xiàn)值。

語(yǔ)法

NPV(rate, values())

NPV 函數(shù)有下列命名參數(shù):

部分 描述
rate 必要。Double 指定在一期間內(nèi)的貼現(xiàn)率,用十進(jìn)制表示。
values() 必要。Double 數(shù)組 指定現(xiàn)金流值。此數(shù)組至少要包含一個(gè)負(fù)值(支付)和一個(gè)正值(收入)。

說(shuō)明

投資的凈現(xiàn)值是未來(lái)一系列支付或收入的當(dāng)前價(jià)值。

NPV 函數(shù)使用數(shù)組中數(shù)值的順序來(lái)解釋支付和收入的順序。要確保支付和收入值是用正確的順序輸入的。

NPV 投資在第一筆現(xiàn)金流值之前開(kāi)始計(jì)算周期,而結(jié)束于數(shù)組中最后的現(xiàn)金流值。

凈現(xiàn)值是根據(jù)未來(lái)的現(xiàn)金流進(jìn)行計(jì)算的。如果第一筆現(xiàn)金流在第一期開(kāi)始時(shí)發(fā)生,那么 NPV 返回的值必須加上第一筆值才是凈現(xiàn)值。而且 values() 數(shù)組不可包含第一筆值。

NPV 函數(shù)與 PV 函數(shù)(現(xiàn)值)相似,只是 PV 函數(shù)在一個(gè)期間的開(kāi)始或結(jié)束時(shí)才允許有現(xiàn)金流。與可變的 NPV 現(xiàn)金流值不同,PV 的現(xiàn)金流在整個(gè)投資期間必須固定。

Oct 函數(shù)
返回 Variant (String),代表一數(shù)值的八進(jìn)制值。

語(yǔ)法

Oct(number)

必要的 number 參數(shù)為任何有效的數(shù)值表達(dá)式或字符串表達(dá)式。

說(shuō)明

如果 number 尚非整數(shù),那么在執(zhí)行前會(huì)先四舍五入成最接近的整數(shù)。

如果 number 為 Oct 返回
Null Null
Empty 零 (0)
任何其他的數(shù)字 最多可到 11 個(gè)八進(jìn)制字符。

可以將適當(dāng)范圍的數(shù)前綴以 &O 來(lái)直接表示八進(jìn)制數(shù)字。例如,八進(jìn)制表示法的 &O10 代表十進(jìn)制的 8。

Partition 函數(shù)
 

返回一個(gè) Variant (String),指定一個(gè)范圍,在一系列計(jì)算的范圍中指定的數(shù)字出現(xiàn)在這個(gè)范圍內(nèi)。

語(yǔ)法

Partition(number, start, stop, interval)

Partition 函數(shù)的語(yǔ)法含有下面這些命名參數(shù):

部分 描述
number 必要參數(shù)。整數(shù),在所有范圍中判斷這個(gè)整數(shù)是否出現(xiàn)。
start 必要參數(shù)。整數(shù),數(shù)值范圍的開(kāi)始值,這個(gè)數(shù)值不能小于 0。
stop 必要參數(shù)。整數(shù),數(shù)值范圍的結(jié)束值,這個(gè)數(shù)值不能等于或小于 start。

說(shuō)明
Partition 函數(shù)會(huì)標(biāo)識(shí) number 值出現(xiàn)的特定范圍,并返回一個(gè) Variant (String) 來(lái)描述這個(gè)范圍。Partition 函數(shù)在查詢中是最有用的??梢詣?chuàng)建一個(gè)選擇查詢顯示有多少定單落在幾個(gè)變化的范圍內(nèi),例如,定單數(shù)從 1 到 1000、1001 到 2000,以此類(lèi)推。

下面的表格使用三組 start,stop 以及 interval 部分,來(lái)顯示怎樣決定這個(gè)范圍。第一個(gè)范圍和最后一個(gè)范圍兩列顯示 Partition 的返回值,此范圍的低端 (lowervalue) 和高端 (uppervalue) 是以冒號(hào)分開(kāi)的。

start stop interval 第一個(gè)范圍之前 第一個(gè)范圍 最后一個(gè)范圍 最后一個(gè)范圍之后
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: "

從上面的表格中得知,在第三行中,由 start 和 stop 所定義的數(shù)值范圍不能以 interval 來(lái)均分。所以,即使 interval 是 20,最后一個(gè)范圍也只能擴(kuò)展到stop(11 個(gè)數(shù))。
如果需要的話,Partition 會(huì)在返回的范圍中加上足夠的空白,以便讓返回值在冒號(hào)的左右兩側(cè)有相同的字符數(shù),其值就是 stop 中的字符數(shù)再加一。如此可確保當(dāng)要使用 Partition 與其它的數(shù)值作運(yùn)算時(shí),所得的字符串,可以在之后的排序操作中得到正確的結(jié)果。

如果 interval 是 1,則范圍便是 number:number,而不管 start 和 stop 參數(shù)如何。比如說(shuō),如果 interval 是 1,number 是 100,而 stop 是 1000,則 Partition 會(huì)返回 " 100: 100"。

如果任何部分是 Null,則 Partition 會(huì)返回一個(gè) Null。

Pmt 函數(shù)
返回一個(gè) Double,指定根據(jù)定期定額支付且利率固定的年金支付額。

語(yǔ)法

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

Pmt 函數(shù)有下列命名參數(shù):

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一筆貸款年百分比率 (APR) 為百分之十且按月付款的汽車(chē)貸款,則每一期的利率為 0.1/12 或 0.0083。
nper 必要。Integer 指定一筆年金的付款總期數(shù)。例如,如果對(duì)一筆為期四年的汽車(chē)貸款選擇按月付款,則貸款共有 4 * 12(或 48)個(gè)付款期。
pv 必要。Double 指定未來(lái)一系列付款或收款的現(xiàn)值。例如,當(dāng)貸款買(mǎi)一輛汽車(chē)時(shí),向貸方所借貸的金額為將來(lái)每月償付給貸方款項(xiàng)的現(xiàn)值。
fv 可選。Variant 指定在付清貸款后所希望的未來(lái)值或現(xiàn)金結(jié)存。例如,貸款的未來(lái)值在貸款付清后為 0 美元。但是,如果想要在 18 年間存下 50,000 美元作為子女教育基金,那么 50,000 美元為未來(lái)值。如果省略的話,缺省值為 0。
type 可選。Variant,指定貸款到期時(shí)間。如果貸款是在貸款周期結(jié)束時(shí)到期,請(qǐng)使用 0。如果貸款是在周期開(kāi)始時(shí)到期,則請(qǐng)使用 1。如果省略的話,缺省值為 0。

說(shuō)明
年金是在一段時(shí)間內(nèi)一系列固定現(xiàn)金支付,年金可以是貸款(如房屋抵押貸款),也可以是一筆投資(如按月儲(chǔ)蓄計(jì)劃)。

在支付期間必須用相同的單位計(jì)算 rate 和 nper 參數(shù)。例如,如果 rate 用月份計(jì)算,則 nper 也必須用月份計(jì)算。

對(duì)所有參數(shù),用負(fù)數(shù)表示現(xiàn)金支出(如儲(chǔ)蓄存款),而用正數(shù)表示現(xiàn)金收入(如紅利支票)。

PPmt 函數(shù)
返回一個(gè) Double,指定在定期定額支付且利率固定的年金的指定期間內(nèi)的本金償付額。

語(yǔ)法

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

PPmt 函數(shù)有下列命名參數(shù):

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一筆貸款年百分比率 (APR) 為百分之十且按月付款的汽車(chē)貸款,則每一期的利率為 0.1/12 或 0.0083。
per 必要。Integer 指定在 nper 間范圍 1 中的付款周期。
nper 必要。Integer 指定一筆年金的付款總期數(shù)。例如,如果對(duì)一筆為期四年的汽車(chē)貸款選擇按月付款,則貸款共有 4 * 12(或 48)個(gè)付款期。
pv 必要。Double 指定未來(lái)一系列付款或收款的現(xiàn)值。例如,當(dāng)貸款買(mǎi)一輛汽車(chē)時(shí),向貸方所借貸的金額為將來(lái)每月償付給貸方款項(xiàng)的現(xiàn)值。
fv 可選。Variant 指定在付清貸款后所希望的未來(lái)值或現(xiàn)金結(jié)存值。例如,貸款的未來(lái)值在貸款付清后為 0 美元。但是,如果想要在 18 年間存下 50,000 美元作為子女教育基金,那么 50,000 美元為未來(lái)值。如果省略的話,缺省值為 0。
type 可選。Variant 指定貸款到期時(shí)間。如果貸款是在貸款周期結(jié)束時(shí)到期,則請(qǐng)使用 0。如果貸款是在周期開(kāi)始時(shí)到期,則請(qǐng)使用 1。如果省略的話,缺省值為 0。

說(shuō)明
年金是在一段時(shí)間內(nèi)一系列固定現(xiàn)金支付。年金可以是貸款(如房屋抵押貸款),也可以是一筆投資(如按月儲(chǔ)蓄計(jì)劃)。

在支付期間必須用相同的單位計(jì)算 rate 和 nper 參數(shù)。例如,如果 rate 用月份計(jì)算,則 nper 也必須用月份計(jì)算。

對(duì)所有參數(shù),用負(fù)數(shù)表示現(xiàn)金支出(如儲(chǔ)蓄存款),而用正數(shù)表示現(xiàn)金收入(如紅利支票)。

PV 函數(shù)
返回一個(gè) Double 指定在未來(lái)定期、定額支付且利率固定的年金現(xiàn)值。

語(yǔ)法

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

PV 函數(shù)有下列命名參數(shù):

部分 描述
rate 必要。Double 指定每一期的利率。例如,如果有一筆貸款年百分比率 (APR) 為百分之十且按月付款的汽車(chē)貸款,則每一期的利率為 0.1/12 或 0.0083。
nper 必要。Integer 指定一筆年金的付款總期數(shù)。例如,如果對(duì)一筆為期四年的汽車(chē)貸款選擇按月付款,則貸款共有 4 * 12(或 48)個(gè)付款期。
pmt 必要。Double 指定每一期的付款金額。付款金額通常包含本金和利息,且此付款金額在年金的有效期間不變。
fv 可選。Variant,指定在付清貸款后所希望的未來(lái)值或現(xiàn)金結(jié)存。例如,貸款的未來(lái)值在貸款付清后為 0 美元。但是,如果想要在 18 年間存下 50,000 美元作為子女教育基金,那么 50,000 美元為未來(lái)值。如果省略的話,缺省值為 0。
type 可選。Variant 指定貸款到期時(shí)間。如果貸款是在貸款周期結(jié)束時(shí)到期,則請(qǐng)使用 0。如果貸款是在周期開(kāi)始時(shí)到期,則請(qǐng)使用 1。如果省略的話,缺省值為 0。

說(shuō)明

年金是在一段時(shí)間內(nèi)一系列固定現(xiàn)金支付。年金可以是貸款(如房屋抵押貸款),也可以是一筆投資(如按月儲(chǔ)蓄計(jì)劃)。

在支付期間必須用相同的單位計(jì)算 rate 和 nper 參數(shù)。例如,如果 rate 用月份計(jì)算,則 nper 也必須用月份計(jì)算。

對(duì)所有參數(shù),現(xiàn)金支出(如儲(chǔ)蓄存款)用負(fù)數(shù)表示,而現(xiàn)金收入(如紅利支票)用正數(shù)表示。

QBColor 函數(shù)
返回一個(gè) Long,用來(lái)表示所對(duì)應(yīng)顏色值的 RGB 顏色碼。

語(yǔ)法

QBColor(color)

必要的 color 參數(shù)是一個(gè)界于 0 到 15 的整型。

設(shè)置值

color 參數(shù)有以下這些設(shè)置:

值 顏色 值 顏色
0 黑色 8 灰色
1 蘭色 9 亮蘭色
2 綠色 10 亮綠色
3 青色 11 亮青色
4 紅色 12 亮紅色
5 洋紅色 13 亮洋紅色
6 黃色 14 亮黃色
7 白色 15 亮白色

說(shuō)明
color 參數(shù)代表使用于早期版本的 Basic(諸如 Microsoft Visual Basic for MS-DOS 以及 Basic Compiler)的顏色值。始于最低有效字節(jié),返回值指定了紅、綠、藍(lán)三原色的值,用于設(shè)置成 VBA中RGB 系統(tǒng)的對(duì)應(yīng)顏色。

Rate 函數(shù)
返回一個(gè) Double,指定每一期的年金利率。

語(yǔ)法

Rate(nper, pmt, pv[, fv[, type[, guess]]])

Rate 函數(shù)有下列命名參數(shù):

部分 描述
nper 必要。Double 指定一筆年金的付款總期數(shù)。例如,如果對(duì)一筆為期四年的汽車(chē)貸款選擇按月付款,則貸款共有 4 * 12(或 48)個(gè)付款期。
pmt 必要。Double,指定每一期的付款金額。付款金額通常包含本金和利息,且此付款金額在年金的有效期間不變。
pv 必要。Double 指定未來(lái)一系列付款或收款的現(xiàn)值。例如,當(dāng)貸款買(mǎi)一輛汽車(chē)時(shí),向貸方所借貸的金額為將來(lái)每月償付給貸方款項(xiàng)的現(xiàn)值。
fv 可選。Variant 指定在付清貸款后所希望的未來(lái)值或現(xiàn)金結(jié)存。例如,貸款的未來(lái)值在貸款付清后為 0 美元。但是,如果想要在 18 年間存下 50,000 美元作為子女教育基金,那么 50,000 美元為未來(lái)值。如果省略的話,缺省值為 0。
type 可選。Variant,指定貸款到期時(shí)間,如果貸款是在貸款周期結(jié)束時(shí)到期,則請(qǐng)使用 0。如果貸款是在周期開(kāi)始時(shí)到期,則請(qǐng)使用 1。如果省略的話,缺省值為 0。
guess 可選。Variant 指定 Rate 返回的估算值。如果省略,則 guess 為 0.1 (10%)。

說(shuō)明

年金是在一段時(shí)間內(nèi)的一系列固定現(xiàn)金支付,年金可以是貸款(如房屋抵押貸款)或是一筆投資(如按月儲(chǔ)蓄計(jì)劃)。

對(duì)所有參數(shù),現(xiàn)金支出(如儲(chǔ)蓄存款)用負(fù)數(shù)表示,而現(xiàn)金收入(如紅利支票)用正數(shù)表示。

Rate 是疊代計(jì)算的。先從 guess 的值開(kāi)始,Rate 反復(fù)循環(huán)計(jì)算,直到精確度達(dá)到 0.00001%。如果經(jīng)過(guò) 20 次疊代測(cè)試還不能得到結(jié)果,則 Rate 計(jì)算失敗。如果猜測(cè)是 10% 而 Rate 計(jì)算失敗,則請(qǐng)?jiān)囉貌煌?guess.值。

Replace函數(shù)
描述

返回一個(gè)字符串,該字符串中指定的子字符串已被替換成另一子字符串,并且替換發(fā)生的次數(shù)也是指定的。

語(yǔ)法幾

Replace(expression, find, replace[, start[, count[, compare]]])

Replace函數(shù)語(yǔ)法有如下命名參數(shù):

部分 描述
expression 必需的。字符串表達(dá)式,包含要替換的子字符串。
find 必需的。要搜索到的子字符串。
replace 必需的。用來(lái)替換的子字符串。
start 可選的。在表達(dá)式中子字符串搜索的開(kāi)始位置。如果忽略,假定從1開(kāi)始。
count 可選的。子字符串進(jìn)行替換的次數(shù)。如果忽略,缺省值是 –1,它表明進(jìn)行所有可能的替換。
compare 可選的。數(shù)字值,表示判別子字符串時(shí)所用的比較方式。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。

設(shè)置值
compare參數(shù)的設(shè)置值如下:

常數(shù) 值 描述
vbUseCompareOption –1 使用Option Compare語(yǔ)句的設(shè)置值來(lái)執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 僅用于Microsoft Access?;谀臄?shù)據(jù)庫(kù)的信息執(zhí)行比較。

返回值
Replace的返回值如下:

如果 Replace返回值
expression長(zhǎng)度為零 零長(zhǎng)度字符串("")。
expression為Null 一個(gè)錯(cuò)誤。
find長(zhǎng)度為零 expression的復(fù)本。
replace長(zhǎng)度為零 expression的復(fù)本,其中刪除了所有出現(xiàn)的find 的字符串。
start > Len(expression) 長(zhǎng)度為零的字符串。
count is 0 expression的復(fù)本。

說(shuō)明

Replace函數(shù)的返回值是一個(gè)字符串,但是,其中從start所指定的位置開(kāi)始,到expression字符串的結(jié)尾處的一段子字符串已經(jīng)發(fā)生過(guò)替換動(dòng)作。并不是原字符串從頭到尾的一個(gè)復(fù)制。

RGB 函數(shù)
返回一個(gè) Long整數(shù),用來(lái)表示一個(gè) RGB 顏色值。

語(yǔ)法

RGB(red, green, blue)

RGB 函數(shù)的語(yǔ)法含有以下這些命名參數(shù):

部分 描述
red 必要參數(shù);Variant (Integer)。數(shù)值范圍從 0 到 255,表示顏色的紅色成份。
green 必要參數(shù);Variant (Integer)。數(shù)值范圍從 0 到 255,表示顏色的綠色成份。
blue 必要參數(shù);Variant (Integer)。數(shù)值范圍從 0 到 255,表示顏色的蘭色成份。

說(shuō)明
可以接受顏色說(shuō)明的應(yīng)用程序的方法和屬性期望這個(gè)說(shuō)明是一個(gè)代表 RGB 顏色值的數(shù)值。一個(gè) RGB 顏色值指定紅、綠、藍(lán)三原色的相對(duì)亮度,生成一個(gè)用于顯示的特定顏色。

傳給 RGB 的任何參數(shù)的值,如果超過(guò) 255,會(huì)被當(dāng)作 255。

下面的表格顯示一些常見(jiàn)的標(biāo)準(zhǔn)顏色,以及這些顏色的紅、綠、藍(lán)三原色的成份:

顏色 紅色值 綠色值 蘭色值
黑色 0 0 0
蘭色 0 0 255
綠色 0 255 0
青色 0 255 255
紅色 255 0 0
洋紅色 255 0 255
黃色 255 255 0
白色 255 255 255

該函數(shù)返回的RGB 顏色值與 Macintosh 操作系統(tǒng)使用的不兼容,這些值可能在 Macintosh 上的Microsoft 應(yīng)用程序上下文中使用, 但當(dāng)通信色直接改變到 Macintosh 操作系統(tǒng)時(shí),不能使用。
Right 函數(shù)
返回 Variant (String),其中包含從字符串右邊取出的指定數(shù)量的字符。

語(yǔ)法

Right(string, length)

Right 函數(shù)的語(yǔ)法具有下面的命名參數(shù):

部分 說(shuō)明
string 必要參數(shù)。字符串表達(dá)式,從中最右邊的字符將被返回。如果 string 包含 Null,將返回 Null。
length 必要參數(shù);為 Variant (Long)。為數(shù)值表達(dá)式,指出想返回多少字符。如果為 0,返回零長(zhǎng)度字符串 ("")。如果大于或等于 string 的字符數(shù),則返回整個(gè)字符串。

說(shuō)明

欲知 string 的字符數(shù),用 Len 函數(shù)。

注意 RightB 函數(shù)作用于包含在字符串中的字節(jié)數(shù)據(jù)。所以 length 指定的是字節(jié)數(shù),而不是指定返回的字符數(shù)。

Rnd 函數(shù)
返回一個(gè)包含隨機(jī)數(shù)值的 Single。

語(yǔ)法

Rnd[(number)]

可選的 number 參數(shù)是 Single 或任何有效的數(shù)值表達(dá)式。

返回值

如果 number 的值是 Rnd 生成
小于 0 每次都使用 number 作為隨機(jī)數(shù)種子得到的相同結(jié)果。
大于 0 序列中的下一個(gè)隨機(jī)數(shù)。
等于 0 最近生成的數(shù)。
省略 序列中的下一個(gè)隨機(jī)數(shù)。

說(shuō)明

Rnd 函數(shù)返回小于 1 但大于或等于 0 的值。

number 的值決定了 Rnd 生成隨機(jī)數(shù)的方式。

對(duì)最初給定的種子都會(huì)生成相同的數(shù)列,因?yàn)槊恳淮握{(diào)用 Rnd 函數(shù)都用數(shù)列中的前一個(gè)數(shù)作為下一個(gè)數(shù)的種子。

在調(diào)用 Rnd 之前,先使用無(wú)參數(shù)的 Randomize 語(yǔ)句初始化隨機(jī)數(shù)生成器,該生成器具有根據(jù)系統(tǒng)計(jì)時(shí)器得到的種子。

為了生成某個(gè)范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

這里,upperbound 是隨機(jī)數(shù)范圍的上限,而 lowerbound 則是隨機(jī)數(shù)范圍的下限。

注意 若想得到重復(fù)的隨機(jī)數(shù)序列,在使用具有數(shù)值參數(shù)的 Randomize 之前直接調(diào)用具有負(fù)參數(shù)值的 Rnd。使用具有同樣 number 值的 Randomize 是不會(huì)得到重復(fù)的隨機(jī)數(shù)序列的。

Round函數(shù)
描述

返回一個(gè)數(shù)值,該數(shù)值是按照指定的小數(shù)位數(shù)進(jìn)行四舍五入運(yùn)算的結(jié)果。

語(yǔ)法

Round(expression [,numdecimalplaces])

Round函數(shù)語(yǔ)法有如下幾部分:

部分 描述
expression 必需的。要進(jìn)行四舍五入運(yùn)算的數(shù)值表達(dá)式。
numdecimalplaces 可選的。數(shù)字值,表示進(jìn)行四舍五入運(yùn)算時(shí),小數(shù)點(diǎn)右邊應(yīng)保留的位數(shù)。如果忽略,則Round函數(shù)返回整數(shù)。

Second 函數(shù)
返回一個(gè) Variant (Integer),其值為 0 到 59 之間的整數(shù),表示一分鐘之中的某個(gè)秒。

語(yǔ)法

Second(time)

必要的 time 參數(shù),可以是任何能夠表示時(shí)刻的 Variant、數(shù)值表達(dá)式、字符串表達(dá)式或它們的組合。如果 time 包含 Null,則返回 Null。

Seek 函數(shù)
返回一個(gè) Long,在 Open 語(yǔ)句打開(kāi)的文件中指定當(dāng)前的讀/寫(xiě)位置。

語(yǔ)法

Seek(filenumber)

必要的 filenumber 參數(shù)是一個(gè)包含有效文件號(hào)的 Integer。

說(shuō)明

Seek 函數(shù)返回介于 1 和 2,147,483,647(相當(dāng)于 2^31 – 1)之間的值。

對(duì)各種文件訪問(wèn)方式的返回值如下:

方式 返回值
Random 下一個(gè)讀出或?qū)懭氲挠涗浱?hào)。
Binary,
Output,
Append,
Input 下一個(gè)操作將要發(fā)生時(shí)所在的字節(jié)位置。文件中的第一個(gè)字節(jié)位于位置 1,第二個(gè)字節(jié)位于位置 2,依此類(lèi)推。

Sgn 函數(shù)
返回一個(gè) Variant (Integer),指出參數(shù)的正負(fù)號(hào)。

語(yǔ)法

Sgn(number)

必要的 number 參數(shù)是任何有效的數(shù)值表達(dá)式。

返回值

如果 number 為 Sgn 返回
大于 0 1
等于 0 0
小于 0 -1

說(shuō)明
number 參數(shù)的符號(hào)決定了 Sgn 函數(shù)的返回值。

Shell 函數(shù)
執(zhí)行一個(gè)可執(zhí)行文件,返回一個(gè) Variant (Double),如果成功的話,代表這個(gè)程序的任務(wù) ID,若不成功,則會(huì)返回 0。

語(yǔ)法

Shell(pathname[,windowstyle])

Shell 函數(shù)的語(yǔ)法含有下面這些命名參數(shù):

部分 描述
pathname 必要參數(shù)。Variant (String),要執(zhí)行的程序名,以及任何必需的參數(shù)或命令行變量,可能還包括目錄或文件夾,以及驅(qū)動(dòng)器。在Macintosh中,可以使用MacID函數(shù)來(lái)指定一個(gè)應(yīng)用程序的署名而不是名稱。下面的例子使用了Microsoft Word的署名:
Shell MacID("MSWD")
Windowstyle 可選參數(shù)。Variant (Integer),表示在程序運(yùn)行時(shí)窗口的樣式。如果 windowstyle 省略,則程序是以具有焦點(diǎn)的最小化窗口來(lái)執(zhí)行的。在Macintosh(系統(tǒng)7.0或更高)中,windowstyle僅決定當(dāng)應(yīng)用程序運(yùn)行時(shí)是否獲得焦點(diǎn)。

windowstyle 命名參數(shù)有以下這些值:

常量 值 描述
vbHide 0 窗口被隱藏,且焦點(diǎn)會(huì)移到隱式窗口。常數(shù)vbHide在Macintosh平臺(tái)不可用。
VbNormalFocus 1 窗口具有焦點(diǎn),且會(huì)還原到它原來(lái)的大小和位置。
VbMinimizedFocus 2 窗口會(huì)以一個(gè)具有焦點(diǎn)的圖標(biāo)來(lái)顯示。
VbMaximizedFocus 3 窗口是一個(gè)具有焦點(diǎn)的最大化窗口。
VbNormalNoFocus 4 窗口會(huì)被還原到最近使用的大小和位置,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)。
VbMinimizedNoFocus 6 窗口會(huì)以一個(gè)圖標(biāo)來(lái)顯示。而當(dāng)前活動(dòng)的的窗口仍然保持活動(dòng)。

說(shuō)明

如果 Shell 函數(shù)成功地執(zhí)行了所要執(zhí)行的文件,則它會(huì)返回程序的任務(wù) ID。任務(wù) ID 是一個(gè)唯一的數(shù)值,用來(lái)指明正在運(yùn)行的程序。如果 Shell 函數(shù)不能打開(kāi)命名的程序,則會(huì)產(chǎn)生錯(cuò)誤。

在Macintosh中,vbNormalFocus、vbMinimizedFocus和vbMaximizedFocus都將應(yīng)用程序置于前臺(tái);vbHide、vbNoFocus、vbMinimizeFocus都將應(yīng)用程序置于后臺(tái)。

注意 缺省情況下,Shell 函數(shù)是以異步方式來(lái)執(zhí)行其它程序的。也就是說(shuō),用 Shell 啟動(dòng)的程序可能還沒(méi)有完成執(zhí)行過(guò)程,就已經(jīng)執(zhí)行到 Shell 函數(shù)之后的語(yǔ)句。

Sin 函數(shù)
返回一 Double,指定參數(shù)的 sine(正弦)值。

語(yǔ)法

Sin(number)

必要的 number 參數(shù)是 Double 或任何有效的數(shù)值表達(dá)式,表示一個(gè)以弧度為單位的角。

說(shuō)明

Sin 函數(shù)取一角度為參數(shù)值,并返回角的對(duì)邊長(zhǎng)度除以斜邊長(zhǎng)度的比值。

結(jié)果的取值范圍在 -1 到 1 之間。

為了將角度轉(zhuǎn)換為弧度,請(qǐng)將角度乘以 pi /180。為了將弧度轉(zhuǎn)換為角度,請(qǐng)將弧度乘以 180/pi。

SLN 函數(shù)
返回一個(gè) Double,在一期里指定一項(xiàng)資產(chǎn)的直線折舊。

語(yǔ)法

SLN(cost, salvage, life)

SLN 函數(shù)有下列命名參數(shù):

部分 描述
cost 必要。Double 指定資產(chǎn)的初始成本。
salvage 必要。Double 指定資產(chǎn)在可用年限結(jié)束后的價(jià)值。
life 必要。Double 指定資產(chǎn)的可用年限。

說(shuō)明

折舊期間必須用與 life 參數(shù)相同的單位表示。所有參數(shù)都必須是正數(shù)。

Space 函數(shù)
返回特定數(shù)目空格的 Variant (String)。

語(yǔ)法

Space(number)

必要的 number 參數(shù)為字符串中想要的空格數(shù)。

說(shuō)明

Space 函數(shù)在格式輸出或清除固定長(zhǎng)度字符串?dāng)?shù)據(jù)時(shí)很有用。

Spc 函數(shù)
與 Print # 語(yǔ)句或 Print 方法一起使用,對(duì)輸出進(jìn)行定位。

語(yǔ)法

Spc(n)

必要的 n 參數(shù)是在顯示或打印列表中的下一個(gè)表達(dá)式之前插入的空白數(shù)。

說(shuō)明

如果 n 小于輸出行的寬度,則下一個(gè)打印位置將緊接在數(shù)個(gè)已打印的空白之后。如果 n 大于輸出行的寬度,則 Spc 利用下列公式計(jì)算下一個(gè)打印位置:

currentprintposition + (n Mod width)

例如,如果當(dāng)前輸出位置為 24,而輸出行的寬度為 80,并指定了 Spc(90),則下一個(gè)打印將從位置 34 開(kāi)始(當(dāng)前打印位置 + 90/80 的余數(shù))。如果當(dāng)前打印位置和輸出行寬度之間的差小于 n(或 n Mod width),則 Spc 函數(shù)會(huì)跳到下一行的開(kāi)頭,并產(chǎn)生數(shù)量為 n – (width – urrentprintposition) 的空白。

注意 要確保表格欄寬度足以容納較寬的字符串。

當(dāng) Print 方法與間距字體一起使用時(shí),使用 Spc 函數(shù)打印的空格字符的寬度總是等于選用字體內(nèi)以磅數(shù)為單位的所有字符的平均寬度。但是,在已打印字符的個(gè)數(shù)與那些字符所占據(jù)的定寬列的數(shù)目之間不存在任何關(guān)系。例如,大寫(xiě)英文字母 W 占據(jù)超過(guò)一個(gè)定寬的列,而小寫(xiě)字母 i 則占據(jù)少于一個(gè)定寬的列。

Split函數(shù)
描述

返回一個(gè)下標(biāo)從零開(kāi)始的一維數(shù)組,它包含指定數(shù)目的子字符串。

語(yǔ)法

Split(expression[, delimiter[, limit[, compare]]])

Split函數(shù)語(yǔ)法有如下命名參數(shù):

部分 描述
expression 必需的。包含子字符串和分隔符的字符串表達(dá)式 。如果expression是一個(gè)長(zhǎng)度為零的字符串(""),Split則返回一個(gè)空數(shù)組,即沒(méi)有元素和數(shù)據(jù)的數(shù)組。
delimiter 可選的。用于標(biāo)識(shí)子字符串邊界的字符串字符。如果忽略,則使用空格字符(" ")作為分隔符。如果delimiter是一個(gè)長(zhǎng)度為零的字符串,則返回的數(shù)組僅包含一個(gè)元素,即完整的 expression字符串。
limit 可選的。要返回的子字符串?dāng)?shù),–1表示返回所有的子字符串。
compare 可選的。數(shù)字值,表示判別子字符串時(shí)使用的比較方式。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。

設(shè)置值

compare參數(shù)的設(shè)置值如下:

常數(shù) 值 描述
vbUseCompareOption –1 用Option Compare語(yǔ)句中的設(shè)置值執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 僅用于Microsoft Access?;谀臄?shù)據(jù)庫(kù)的信息執(zhí)行比較。

Sqr 函數(shù)
返回一個(gè) Double,指定參數(shù)的平方根。

語(yǔ)法

Sqr(number)

必要的 number 參數(shù) number 是 Double 或任何有效的大于或等于 0 的數(shù)值表達(dá)式。

Str 函數(shù)
返回代表一數(shù)值的 Variant (String)。

語(yǔ)法

Str(number)

必要的 number 參數(shù)為一 Long,其中可包含任何有效的數(shù)值表達(dá)式。

說(shuō)明

當(dāng)一數(shù)字轉(zhuǎn)成字符串時(shí),總會(huì)在前頭保留一空位來(lái)表示正負(fù)。如果 number 為正,返回的字符串包含一前導(dǎo)空格暗示有一正號(hào)。

使用 Format 函數(shù)可將數(shù)值轉(zhuǎn)成必要的格式,如日期、時(shí)間、貨幣或其他用戶自定義格式。與 Str 不同的是,F(xiàn)ormat 函數(shù)不包含前導(dǎo)空格來(lái)放置 number 的正負(fù)號(hào)。

注意 Str 函數(shù)只視句點(diǎn) (.) 為有效的小數(shù)點(diǎn)。如果使用不同的小數(shù)點(diǎn)(例如,國(guó)際性的應(yīng)用程序),可使用 CStr 將數(shù)字轉(zhuǎn)成字符串。

StrComp 函數(shù)
返回 Variant (Integer),為字符串比較的結(jié)果。

語(yǔ)法

StrComp(string1, string2[, compare])

StrComp 函數(shù)的語(yǔ)法有下面的命名參數(shù):

部分 說(shuō)明
string1 必要參數(shù)。任何有效的字符串表達(dá)式。
string2 必要參數(shù)。任何有效的字符串表達(dá)式。
Compare 可選參數(shù)。指定字符串比較的類(lèi)型。如果 compare 參數(shù)是 Null,將發(fā)生錯(cuò)誤。如果省略 compare,Option Compare 的設(shè)置將決定比較的類(lèi)型。

設(shè)置

compare 參數(shù)設(shè)置為:

常數(shù) 值 描述
vbUseCompareOption -1 使用Option Compare語(yǔ)句設(shè)置執(zhí)行一個(gè)比較。
vbBinaryCompare 0 執(zhí)行一個(gè)二進(jìn)制比較。
vbTextCompare 1 執(zhí)行一個(gè)按照原文的比較。
vbDatabaseCompare 2 僅適用于Microsoft Access,執(zhí)行一個(gè)基于數(shù)據(jù)庫(kù)信息的比較。

返回值
StrComp 函數(shù)有下列返回值:

如果 StrComp 返回
string1 小于 string2 -1
string1 等于 string2 0
string1 大于 string2 1
string1 或 string 2為 Null Null

StrConv 函數(shù)
返回按指定類(lèi)型轉(zhuǎn)換的 Variant (String)。

語(yǔ)法

StrConv(string, conversion, LCID)

StrConv 函數(shù)的語(yǔ)法有下面的命名參數(shù):

部分 說(shuō)明
string 必要參數(shù)。要轉(zhuǎn)換的字符串表達(dá)式。
conversion 必要參數(shù)。Integer。其值的和決定轉(zhuǎn)換的類(lèi)型。
LCID 可選的。如果與系統(tǒng)LocaleID不同,則為L(zhǎng)ocaleID(系統(tǒng)LocaleID為缺省值。)

設(shè)置值
conversion 參數(shù)的設(shè)置值為:

常數(shù) 值 說(shuō)明
vbUpperCase 1 將字符串文字轉(zhuǎn)成大寫(xiě)。
vbLowerCase 2 將字符串文字轉(zhuǎn)成小寫(xiě)。
vbProperCase 3 將字符串中每個(gè)字的開(kāi)頭字母轉(zhuǎn)成大寫(xiě)。
vbWide* 4* 將字符串中單字節(jié)字符轉(zhuǎn)成雙字節(jié)字符。
vbNarrow* 8* 將字符串中雙字節(jié)字符轉(zhuǎn)成單字節(jié)字符。
vbKatakana** 16** 將字符串中平假名字符轉(zhuǎn)成片假名字符。
vbHiragana** 32** 將字符串中片假名字符轉(zhuǎn)成平假名字符。
vbUnicode 64 根據(jù)系統(tǒng)的缺省碼頁(yè)將字符串轉(zhuǎn)成 Unicode。 (在Macintosh中不可用。)
vbFromUnicode 128 將字符串由 Unicode 轉(zhuǎn)成系統(tǒng)的缺省碼頁(yè)。 (在Macintosh中不可用。)

*應(yīng)用到遠(yuǎn)東區(qū)域。
**僅應(yīng)用到日本。

注意 這些常數(shù)是由 VBA 指定的??梢栽诔绦蛑惺褂盟鼈儊?lái)替換真正的值。其中大部分是可以組合的,例如 vbUpperCase + vbWide,互斥的常數(shù)不能組合,例如 vbUnicode + vbFromUnicode。當(dāng)在不適用的區(qū)域使用常數(shù) vbWide、vbNarrow、vbKatakana,和 vbHiragana 時(shí),就會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。

下面是一些一般情況下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),換行 (Chr$(10)),垂直制表符 (Chr$(11)),換頁(yè) (Chr$(12)) ,回車(chē) (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的實(shí)際值會(huì)隨國(guó)家/地區(qū)而不同。

說(shuō)明

在把 ANSI 格式的 Byte 數(shù)組轉(zhuǎn)換為字符串時(shí),您應(yīng)該使用 StrConv 函數(shù)。當(dāng)您轉(zhuǎn)換 Unicode 格式的這種數(shù)組時(shí),使用賦值語(yǔ)句。

StrReverse函數(shù)
描述

返回一個(gè)字符串,其中一個(gè)指定子字符串的字符順序是反向的。

語(yǔ)法

StrReverse(expression)

參數(shù)expression 是一個(gè)字符串,它的字符順序要被反向。如果expression 是一個(gè)長(zhǎng)度為零的字符串(""),則返回一個(gè)長(zhǎng)度為零的字符串。如果expression為Null,則產(chǎn)生一個(gè)錯(cuò)誤。

String 函數(shù)
回 Variant (String),其中包含指定長(zhǎng)度重復(fù)字符的字符串。

語(yǔ)法

String(number, character)

String 函數(shù)的語(yǔ)法有下面的命名參數(shù):

部分 說(shuō)明
number 必要參數(shù);Long。返回的字符串長(zhǎng)度。如果 number 包含 Null,將返回 Null。
character 必要參數(shù);Variant。為指定字符的字符碼或字符串表達(dá)式,其第一個(gè)字符將用于建立返回的字符串。如果 character 包含 Null,就會(huì)返回 Null。

說(shuō)明

如果指定 character 的數(shù)值大于 255,String 會(huì)按下面的公式將其轉(zhuǎn)為有效的字符碼:

character Mod 256

Switch 函數(shù)
計(jì)算一組表達(dá)式列表的值,然后返回與表達(dá)式列表中最先為 True 的表達(dá)式所相關(guān)的 Variant 數(shù)值或表達(dá)式。

語(yǔ)法

Switch(expr-1, value-1[, expr-2, value-2 _ [, expr-n,value-n]])

Switch 函數(shù)的語(yǔ)法具有以下幾個(gè)部分:

部分 描述
expr 必要參數(shù)。要加以計(jì)算的 Variant 表達(dá)式。
value 必要參數(shù)。如果相關(guān)的表達(dá)式為 True,則返回此部分的數(shù)值或表達(dá)式。

說(shuō)明
Switch 函數(shù)的參數(shù)列表由多對(duì)表達(dá)式和數(shù)值組成。表達(dá)式是由左至右加以計(jì)算的,而數(shù)值則會(huì)在第一個(gè)相關(guān)的表達(dá)式為 True 時(shí)返回。如果其中有部分不成對(duì),則會(huì)產(chǎn)生一個(gè)運(yùn)行時(shí)錯(cuò)誤。如果 expr-1 為 True 則 Switch 返回 value-1,如果 expr-1 為 False,但 expr-2 為 True,則 Switch 返回 value-2,以此類(lèi)推。

Switch 會(huì)返回一個(gè) Null值,如果:

沒(méi)有一個(gè)表達(dá)式為 True。


第一個(gè)為 True 的表達(dá)式,其相對(duì)應(yīng)的值為 Null。
雖然它只返回其中的一個(gè)值,但是 Switch 會(huì)計(jì)算所有的表達(dá)式。因此應(yīng)該注意到所產(chǎn)生的副作用。例如,只要其中一個(gè)表達(dá)式導(dǎo)致被零除錯(cuò)誤,就會(huì)發(fā)生錯(cuò)誤。

SYD 函數(shù)
返回一個(gè) Double,指定某項(xiàng)資產(chǎn)在一指定期間用年數(shù)總計(jì)法計(jì)算的折舊。

語(yǔ)法

SYD(cost, salvage, life, period)

SYD 函數(shù)有下列命名參數(shù):

部分 描述
cost 必要。Double 指定資產(chǎn)的初始成本。
salvage 必要。Double 指定資產(chǎn)在可用年限結(jié)束后的價(jià)值。
life 必要。Double 指定資產(chǎn)的可用年限。
period 必要。Double 指定計(jì)算資產(chǎn)折舊所用的那一期間。

說(shuō)明
必須用相同的單位表示 life 和 period 參數(shù)。例如,如果 life 用月份表示,則 period 也必須用月份表示。所有參數(shù)都必須是正數(shù)。

Tab 函數(shù)
與 Print # 語(yǔ)句或 Print 方法一起使用,對(duì)輸出進(jìn)行定位。

語(yǔ)法

Tab[(n)]

可選的 n 參數(shù)是在顯示或打印列表中的下一個(gè)表達(dá)式之前移動(dòng)的列數(shù)。若省略此參數(shù),則 Tab 將插入點(diǎn)移動(dòng)到下一個(gè)打印區(qū)的起點(diǎn)。這就使 Tab 可用來(lái)替換區(qū)域中的逗號(hào),此處,逗號(hào)是作為十進(jìn)制分隔符使用的。

說(shuō)明

如果當(dāng)前行上的打印位置大于 n,則 Tab 將打印位置移動(dòng)到下一個(gè)輸出行的第 n 列上。如果 n 小于 1,則 Tab 將打印位置移動(dòng)到列 1。如果 n 大于輸出行的寬度,則 Tab 函數(shù)使用以下公式計(jì)算下一個(gè)打印位置:

n Mod width

例如,如果 width 是 80,并指定 Tab(90),則下一個(gè)打印將從列 10 開(kāi)始(90/80 的余數(shù))。如果 n 小于當(dāng)前打印位置,則從下一行中計(jì)算出來(lái)的打印位置開(kāi)始打印。如果計(jì)算后的打印位置大于當(dāng)前打印位置,則從同一行中計(jì)算出來(lái)的打印位置開(kāi)始打印。

輸出行最左端的打印位置總是 1。在使用 Print # 語(yǔ)句將數(shù)據(jù)寫(xiě)入文件時(shí),最右端的打印位置是輸出文件的當(dāng)前寬度,這一寬度可用 Width # 語(yǔ)句設(shè)置。

注意 要確保表格列的寬度足以容納較寬的字符串。

當(dāng) Print 方法與 Tab 函數(shù)一起使用時(shí),打印的外觀將會(huì)被分割為均勻、定寬的列。各列的寬度等于選用字體內(nèi)以磅數(shù)為單位的所有字符的平均寬度。但是,在已打印字符的個(gè)數(shù)與那些字符所占據(jù)的定寬列的數(shù)目之間不存在任何關(guān)系。例如,大寫(xiě)字母 W 占據(jù)超過(guò)一個(gè)定寬的列,而小寫(xiě)字母 i 則占據(jù)少于一個(gè)定寬的列。

Tan 函數(shù)
返回一個(gè) Double 的值,指定一個(gè)角的正切值。

語(yǔ)法

Tan(number)

必要的 number 參數(shù)是 Double 或任何有效的數(shù)值表達(dá)式,表示一個(gè)以弧度為單位的角度。

說(shuō)明

Tan 取一角度為參數(shù)值,并返回直角的兩條鄰邊的比值。該比值是角的對(duì)邊長(zhǎng)度除以角的鄰邊長(zhǎng)度的商。

為了將角度轉(zhuǎn)換為弧度,請(qǐng)將角度乘以 pi/180/180。為了將弧度轉(zhuǎn)換為角度,請(qǐng)將弧度乘以 180/pi。

Time 函數(shù)
返回一個(gè)指明當(dāng)前系統(tǒng)時(shí)間的 Variant (Date)。

語(yǔ)法

Time

說(shuō)明

為了設(shè)置系統(tǒng)時(shí)間,請(qǐng)使用 Time 語(yǔ)句。

Timer 函數(shù)
返回一個(gè) Single,代表從午夜開(kāi)始到現(xiàn)在經(jīng)過(guò)的秒數(shù)。

語(yǔ)法

Timer

說(shuō)明

Microsoft Windows中,Timer函數(shù)返回一秒的小數(shù)部分。在Macintosh上,計(jì)時(shí)器的精度是1秒。

TimeSerial 函數(shù)
返回一個(gè) Variant (Date),包含具有具體時(shí)、分、秒的時(shí)間。

語(yǔ)法

TimeSerial(hour, minute, second)

TimeSerial 函數(shù)語(yǔ)法有下列的命名參數(shù):

部分 描述
hour 必要;Variant (Integer)。其值從 0 (12:00 A.M.) 到 23 (11:00 P.M.),或一數(shù)值表達(dá)式。
minute 必要;Variant (Integer)。任何數(shù)值表達(dá)式。
second 必要;Variant (Integer)。任何數(shù)值表達(dá)式。

說(shuō)明
為了指定一個(gè)時(shí)刻,如 11:59:59,TimeSerial 的參數(shù)取值應(yīng)在正常范圍內(nèi);也就是說(shuō),鐘點(diǎn)應(yīng)介于 0-23 之間,而分鐘與秒應(yīng)介于 0-59 之間。但是,當(dāng)一個(gè)數(shù)值表達(dá)式表示某時(shí)刻之前或其后的時(shí)、分鐘或秒數(shù)時(shí),也可以為每個(gè)使用這個(gè)數(shù)值表達(dá)式的參數(shù)指定相對(duì)時(shí)間。以下示例中使用了表達(dá)式代替絕對(duì)時(shí)間數(shù)。TimeSerial 函數(shù)返回中午之前六小時(shí) (12 - 6) 又十五分鐘 (-15) 的時(shí)間,即 5:45:00 A.M.

TimeSerial(12 - 6, -15, 0)
當(dāng)任何一個(gè)參數(shù)的取值超出正常范圍時(shí),它會(huì)適時(shí)進(jìn)位到下一個(gè)較大的時(shí)間單位。例如,如果指定了 75(75 分鐘),則這個(gè)時(shí)間被解釋成一小時(shí)又十五分。如果一個(gè)參數(shù)值超出 -32,768 到 32,767 的范圍,就會(huì)導(dǎo)致錯(cuò)誤發(fā)生。如果三個(gè)參數(shù)指定的時(shí)間會(huì)使日期超出可接受的日期范圍,則亦會(huì)導(dǎo)致錯(cuò)誤發(fā)生。

TimeValue 函數(shù)
返回一個(gè)包含時(shí)間的 Variant (Date)。

語(yǔ)法

TimeValue(time)

必要的 time 參數(shù),通常是一個(gè)字符串表達(dá)式,表示 0:00:00 (12:00:00 A.M.) 到 23:59:59 (11:59:59 P.M.) 之間的時(shí)刻。但是,time 也可以是表示在同一時(shí)間范圍取值的任何其它表達(dá)式。如果 time 包含 Null,則返回 Null。

說(shuō)明

可以使用 12 小時(shí)制或 24 小時(shí)制的時(shí)間格式。例如,”2:24PM” 和 "14:24" 均是有效的 time 表達(dá)式。

如果 time 參數(shù)包含日期信息,TimeValue 將不會(huì)返回它。但是,若 time 包含無(wú)效的日期信息,則會(huì)導(dǎo)致錯(cuò)誤發(fā)生。

TypeName 函數(shù)
返回一個(gè) String,提供有關(guān)變量的信息。

語(yǔ)法

TypeName(varname)

必要的 varname 參數(shù)是一個(gè) Variant,它包含用戶定義類(lèi)型變量之外的任何變量。

說(shuō)明

TypeName 所返回的字符串可以是下面列舉的任何一個(gè)字符串: 返回字符串 變量
對(duì)象類(lèi)型 類(lèi)型為 objecttype 的對(duì)象
Byte 位值
Integer 整數(shù)
Long 長(zhǎng)整數(shù)
Single 單精度浮點(diǎn)數(shù)
Double 雙精度浮點(diǎn)數(shù)
Currency 貨幣
Decimal 十進(jìn)制值
Date 日期
String 字符串
Boolean Boolean 值
Error 錯(cuò)誤值
Empty 未初始化
Null 無(wú)效數(shù)據(jù)
Object 對(duì)象
Unknown 類(lèi)型未知的對(duì)象
Nothing 不再引用對(duì)象的對(duì)象變量

如果 varname 是一個(gè)數(shù)組,則返回的字符串可以是任何一個(gè)后面添加了空括號(hào)的可能的返回字符串(或 Variant)。例如,如果 varname 是一個(gè)整數(shù)數(shù)組,則 TypeName 返回 "Integer()"。

UBound 函數(shù)
返回一個(gè) Long 型數(shù)據(jù),其值為指定的數(shù)組維可用的最大下標(biāo)。

語(yǔ)法

UBound(arrayname[, dimension])

UBound 函數(shù)的語(yǔ)法包含下面部分:

部分 描述
arrayname 必需的。數(shù)組變量的名稱,遵循標(biāo)準(zhǔn)變量命名約定。
dimension 可選的;Variant (Long)。指定返回哪一維的上界。1 表示第一維,2 表示第二維,如此等等。如果省略 dimension,就認(rèn)為是 1。

說(shuō)明
UBound 函數(shù)與 LBound 函數(shù)一起使用,用來(lái)確定一個(gè)數(shù)組的大小。LBound 用來(lái)確定數(shù)組某一維的上界。

對(duì)具有下述維數(shù)的數(shù)組而言,UBound 的返回值見(jiàn)下表:

Dim A(1 To 100, 0 To 3, -3 To 4)

語(yǔ)句 返回值
UBound(A, 1) 100
UBound(A, 2) 3
UBound(A, 3) 4

UCase 函數(shù)
返回 Variant (String),其中包含轉(zhuǎn)成大寫(xiě)的字符串。

語(yǔ)法

UCase(string)

必要的 string 參數(shù)為任何有效的字符串表達(dá)式。如果 string 包含 Null,將返回 Null。

說(shuō)明

只有小寫(xiě)的字母會(huì)轉(zhuǎn)成大寫(xiě);原本大寫(xiě)或非字母之字符保持不變。

Val 函數(shù)
返回包含于字符串內(nèi)的數(shù)字,字符串中是一個(gè)適當(dāng)類(lèi)型的數(shù)值。

語(yǔ)法

Val(string)

必要的 string 參數(shù)可以是任何有效的字符串表達(dá)式.

說(shuō)明

Val 函數(shù),在它不能識(shí)別為數(shù)字的第一個(gè)字符上,停止讀入字符串。那些被認(rèn)為是數(shù)值的一部分的符號(hào)和字符,例如美圓號(hào)與逗號(hào),都不能被識(shí)別。但是函數(shù)可以識(shí)別進(jìn)位制符號(hào) &O(八進(jìn)制)和 &H(十六進(jìn)制)??瞻?、制表符和換行符都從參數(shù)中被去掉。

下面的返回值為 1615198:

Val(" 1615 198th Street N.E.")

在下面的代碼中,Val 為所示的十六進(jìn)制數(shù)值返回十進(jìn)制數(shù)值 -1。

Val("&HFFFF")

注意 Val 函數(shù)只會(huì)將句點(diǎn)(.)當(dāng)成一個(gè)可用的小數(shù)點(diǎn)分隔符。當(dāng)使用不同的小數(shù)點(diǎn)分隔符時(shí),如在國(guó)際版應(yīng)用程序中,代之以 CDbl 來(lái)把字符串轉(zhuǎn)換為數(shù)字。

VarType 函數(shù)
返回一個(gè) Integer,指出變量的子類(lèi)型。

語(yǔ)法

VarType(varname)

必要的 varname 參數(shù)是一個(gè) Variant,包含用戶定義類(lèi)型變量之外的任何變量。

返回值

常數(shù) 值 描述
vbEmpty 0 Empty(未初始化)
vbNull 1 Null(無(wú)有效數(shù)據(jù))
vbInteger 2 整數(shù)
vbLong 3 長(zhǎng)整數(shù)
vbSingle 4 單精度浮點(diǎn)數(shù)
vbDouble 5 雙精度浮點(diǎn)數(shù)
vbCurrency 6 貨幣值
vbDate 7 日期
vbString 8 字符串
vbObject 9 對(duì)象
vbError 10 錯(cuò)誤值
vbBoolean 11 Boolean 值
vbVariant 12 Variant(只與變體中的數(shù)組一起使用)
vbDataObject 13 數(shù)據(jù)訪問(wèn)對(duì)象
vbDecimal 14 十進(jìn)制值
vbByte 17 位值
vbUserDefinedType 36 包含用戶定義類(lèi)型的變量
vbArray 8192 數(shù)組

注意 這些常數(shù)是由 Visual Basic 為應(yīng)用程序指定的。這些名稱可以在程序代碼中到處使用,以代替實(shí)際值。
說(shuō)明

VarType 函數(shù)自身從不對(duì) vbArray 返回值。VarType 總是要加上一些其他值來(lái)指出一個(gè)具體類(lèi)型的數(shù)組。常數(shù) vbVariant 只與 vbArray 一起返回,以表明 VarType 函數(shù)的參數(shù)是一個(gè) Variant 類(lèi)型的數(shù)組。例如,對(duì)一個(gè)整數(shù)數(shù)組的返回值是 vbInteger + vbArray,或 8194。如果一個(gè)對(duì)象有缺省屬性,則 VarType (object) 返回對(duì)象缺省屬性的類(lèi)型。

Weekday 函數(shù)
返回一個(gè) Variant (Integer),包含一個(gè)整數(shù),代表某個(gè)日期是星期幾。

語(yǔ)法

Weekday(date, [firstdayofweek])

Weekday 函數(shù)語(yǔ)法有下列的命名參數(shù):

部分 描述
date 必要。能夠表示日期的 Variant、數(shù)值表達(dá)式、字符串表達(dá)式或它們的組合。如果 date 包含 Null,則返回 Null。
Firstdayofweek 可選。指定一星期第一天的常數(shù)。如果未予指定,則以 vbSunday 為缺省值。

設(shè)置
firstdayofweek 參數(shù)有以下設(shè)定值:

常數(shù) 值 描述
vbUseSystem 0 使用 NLS API 設(shè)置。
VbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

返回值
Weekday 函數(shù)可以返回以下諸值:

常數(shù) 值 描述
vbSunday 1 星期日
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

WeekdayName函數(shù)
描述

返回一個(gè)字符串,表示一星期中的某天。

語(yǔ)法

WeekdayName(weekday, abbreviate, firstdayofweek)

WeekdayName函數(shù)語(yǔ)法有如下幾部分:

部分 描述
weekday 必需的。數(shù)字值,表示一星期中的某天。該數(shù)字值要依賴于firstdayofweek設(shè)置中的設(shè)置值來(lái)決定。
abbreviate 可選的。Boolean值,表示星期的名稱是否被縮寫(xiě)。如果忽略該值,缺省值為False,表明星期的名稱不能被縮寫(xiě)。
firstdayofweek 可選的。數(shù)字值,表示一星期中第一天。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。

設(shè)置值
firstdayofweek參數(shù)值如下:

常數(shù) 值 描述
vbUseSystem 0 使用本國(guó)語(yǔ)言支持 (NLS) API設(shè)置值。
vbSunday 1 星期日(缺?。?。
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

Year 函數(shù)
返回 Variant (Integer),包含表示年份的整數(shù)。

語(yǔ)法

Year(date)

必要的 date 參數(shù),可以是任何能夠表示日期的 Variant、數(shù)值表達(dá)式、字符串表達(dá)式或它們的組合。如果 date 包含 Null,則返回 Null。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    国产高清一区二区白浆| 欧美日韩亚洲精品在线观看| 一级片二级片欧美日韩| 欧美精品久久男人的天堂| 黄男女激情一区二区三区| 好吊视频有精品永久免费| 日韩日韩日韩日韩在线| 国产一区二区三区丝袜不卡| 午夜国产成人福利视频| 久久99热成人网不卡| 欧美91精品国产自产| 久久国产人妻一区二区免费| 国产精品自拍杆香蕉视频| 九九热在线视频精品免费| 国产又粗又猛又长又大| 久久夜色精品国产高清不卡| 国产二级一级内射视频播放| 精品熟女少妇一区二区三区| 亚洲精品黄色片中文字幕| 亚洲婷婷开心色四房播播| 欧美极品欧美精品欧美| 五月天婷亚洲天婷综合网| 污污黄黄的成年亚洲毛片| 国产精品亚洲欧美一区麻豆| 国产精品蜜桃久久一区二区| 日本一级特黄大片国产| 国产午夜精品亚洲精品国产| 久久精品国产一区久久久| 国产亚洲精品俞拍视频福利区| 国产av天堂一区二区三区粉嫩| 九九热在线视频精品免费| 欧美国产日韩在线综合| 亚洲国产精品久久精品成人| 免费大片黄在线观看国语| 91欧美激情在线视频| 欧美一区二区三区视频区| 欧美日韩国内一区二区| 亚洲国产色婷婷久久精品| 成人午夜激情在线免费观看| 美女露小粉嫩91精品久久久| 久久精品少妇内射毛片|