一、時間和日期函數
VBScript有許多函數,使你可以得到各種格式的日期和時間。
1、Now 函數
格式:Now()
說明:返回當前的日期和時間值。
示例 2-4-1.asp
<html>
<head>
<title>時間日期</title>
</head>
<body>
當前時間是: <% = Now %>
<br>
當前時間是:
<% response.write Now() %>
</body>
</html>
示例解讀:
在編程語言中函數的一個特點是后面帶有圓括號,一般來說定義和調用函數這個圓括號都不能省略,但在Vbscript中調用函數時可以省略圓括號,如本例中的Now和Now()返回結果是一樣的。<% = Now %>和<% response.write Now() %>兩種輸出方式輸出結果也是一樣的。
你應該注意,返回的日期和時間是你的Web服務器的系統(tǒng)時鐘的日期和時間。如果身處紐約的某個人在看你的網頁,他看到的日期和時間與她當地的日期和時間也許是不一致的。
函數NOW同時返回日期和時間。如果你只想返回當前日期,你可以使用函數DATE。如果你只想返回當前時間,你可以使用函數TIME。請看下面date()函數和time()函數。
2、Date 函數
格式:Date()
說明:Date函數返回當前系統(tǒng)日期。
示例 2-4-2.asp
<html>
<head>
<title>時間日期</title>
</head>
<body>
當前日期是: <% = Date() %>
<br>
當前日期是:<% response.write Date %>
</body>
</html>
3、Time 函數
格式:Time()
說明: Time 函數返回當前系統(tǒng)時間:
示例 2-4-3.asp
<html>
<head>
<title>時間日期</title>
</head>
<body>
<% response.write Now %>
<br>
<% response.write Date %>
<br>
<% response.write Time %>
</body>
</html>
測試上面的示例可以說明時間函數Now、Date、Time的區(qū)別。
4、timer 函數
說明:返回午夜 12 時以后已經過去的秒數。
示例 timer.asp
<%
Dim Starttime, EndTime, TimeIt
StartTime = Timer
For i = 1 To 3000000
j=j+i
Next
EndTime = Timer
TimeIt = EndTime - StartTime
Response.write TimeIt
%>
上面的例子使用 Timer 函數來確定 For...Next 循環(huán) 3000000 次所需的時間:
5、操作日期
(1) Month 函數
格式:Month(date)
參數: date為任意日期表達式。
說明:返回當前月。
Month函數和year年,day日,hour時,minute分,second秒是類似的,這些函數會將參數給定的值,轉換為相應的年,月,日,時,分,秒。
(2) Weekday 函數
格式:Weekday(date, [firstdayofweek])
參數:
date 可以代表日期的任意表達式。
Firstdayofweek 可選,用來指定一周的第一天的常數。默認值周日為1。
使用函數Month(),Day(),Weekday(),和Year(),你可以把一個日期分割成更小的部分。所有這些函數都以一個日期表達式作為參數,并返回一個數字。這里有一個如何使用這些函數的示例
示例 2-4-4.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
現在是 :<%=Year(date)%>年
<BR>
當前月是 :<%=Month(date)%>
<BR>
當前日期是:<%=Day(date)%>
<BR>
今天是星期:<%=Weekday(date)-1%>
</body>
</html>
注意函數weekday()假定一個星期的第一天是星期日。如果你想把星期一作為一周的第一天,你可以使用語句:weekday(DATE,vbMonday),你可以把任何一天作為一周的第一天。要指定一周的第一天是星期幾,只要用vbSunday, vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday或 vbSaturday代替函數WEEKDAY()的第二個參數即可請看下面的示例
示例 2-4-5.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
<%
response.write weekday(DATE,vbSunday)'把星期日作為一周的第一天
response.write weekday(DATE,vbMonday) '把星期一作為一周的第一天
response.write weekday(DATE,vbTuesday)'把星期二作為一周的第一天
response.write weekday(DATE,vbWednesday)'把星期三作為一周的第一天
response.write weekday(DATE,vbThursday)'把星期四作為一周的第一天
response.write weekday(DATE,vbFriday)'把星期五作為一周的第一天
response.write weekday(DATE,vbSaturday)'把星期六作為一周的第一天
%>
</body>
</html>
一般情況下Weekday()在沒有參數的情況下,默認把星期日作為每周的第一天,你不單可以用函數DATE作為這些函數的參數。你也可以提供一個日期字符串或者一個日期常數作為參數,如下例所示:
示例 2-4-6.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
2005年圣誕節(jié)是星期 :<%=WEEKDAY(#12/25/2005#)-1%>
<br>
2005年圣誕節(jié)是星期 :<%=WEEKDAY(“12-25-2005”)-1%>
</body>
</html>
示例解讀:
這兩個函數都返回2004年圣誕節(jié)這一天是星期幾。(Weekday()默認為星期日為每周的第一天,在輸出時應該減1,這里輸出為0,表示星期日)表達式#12/25/2005#是一個日期常數,日期常數總是括在字符’?!小1磉_式”12-25-2005”是一個日期字符串。用這兩種方法為函數提供一個日期都是可行的。
要以更加易讀的形式返回月份和星期幾,你可以使用函數Weekdayname()或Monthname()。這兩個函數返回的是字符串。這里有一個使用這兩個函數的例子:
示例 2-4-7.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
現在是<%=Year(date)%>年的
<%=Monthname(Month(date))%>
<br>
今天是:<%=Weekdayname(Weekday(date))%>
</body>
</html>
示例解讀:
上面示例的兩個函數返回的是兩個字符串,假設當前日期是二月,星期三,就返回“二月”和“星期三”字符串。這取決于當前你服務器上的時間。
如果你想指定你要返回的是某月或某個星期幾,那么你可以把1到12之間的任何整數作為函數Monthname()的參數,你可以把1到7之間的任何整數作為函數Weekdayname()的參數。在返回英文時,通過指定第二個參數TRUE,來強制這兩個函數返回縮寫的字符串。(TRUE表示要縮寫,FALSE表示不縮寫。)如下所示:
<%=Monthname(8,true)%>
<%=Weekdayname(7,true)%>
6、操作時間
你也可以把時間分割成更小的部分。通過函數Hour(),Minute(),和Second(),你可以返回時間的不同部分。下面是使用這些函數的一些例子:
示例 2-4-8.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
返回當前的時:<%=Hour(time)%><br>
返回當前的分:<%=Minute(time)%><br>
返回當前的秒:<%=Second(time)%>
</body>
</html>
示例解讀:
函數Hour()返回一個0到23之間的整數(0點是午夜后的一個小時)。函數Minute()返回一個0到59之間的整數。函數Second()也返回一個0到59之間的整數。
你不單可以用函數TIME作為這些函數的參數,你還可以提供一個時間常數或時間字符串作為參數。下面的兩個例子都從時間中抽取分鐘數34:
<%=MINUTE(#12:34:19#)%> 返回分鐘:34
<%=MINUTE(“12:34:23”)%> 也返回分鐘:34
7、比較日期和時間
VBScript有兩個用于比較日期和時間的函數。你可以用函數DATEADD()對日期和時間作加法,用函數DATEDIFF()計算兩個日期或時間的間隔。
(1)DateAdd 函數
格式 DateAdd(interval,number, date)
參數:
interval 必選項。字符串表達式,表示要添加的時間間隔。
number 必選項。數值表達式,表示要添加的時間間隔的個數,即時間間隔的倍數因子。數值表達式可以是正數(得到未來的日期)或負數(得到過去的日期)。
date 必選項。Variant 或要添加 interval 的表示日期的文字,即:是一個日期或時間的變量或常量。
說明:返回已添加指定時間間隔的日期。
下面是日期和時間間隔(interval參數)
間隔 描述
yyyy 年
q 季度
m 月
y 一年的日數
d 天
w 一周的日數
ww 星期
h 小時
n 分鐘
s 秒
可用 DateAdd 函數從日期中添加或減去指定時間間隔。例如可以使用 DateAdd 從當天算起 30 天以后的日期或從現在算起 45 分鐘以后的時間。要向 date 添加以“日”為單位的時間間隔,可以使用“一年的日數”(“y”)、“日”(“d”)或“一周的日數”(“w”)。
下面是使用函數DATEADD()的一些例子:
示例 2-4-9.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
比今天晚六個星期的日期:<%=DATEADD("ww",6,DATE)%>
<br>
返回15秒鐘后的時間中的秒數:<%=DATEADD("s",15,TIME)%>
<br>
返回當前的秒:<%=Second(time)%>
</body>
</html>
DateAdd 函數不會返回無效日期。如下示例將 05 年 1 月 31 日加上一個月:
示例 2-4-10.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
比2005年1月31日晚一個月的日期:<%=DateAdd("m", 1, "31-1-2005")%>
<br>
比2004年1月31日晚一個月的日期:<%=DateAdd("m", 1, "31-1-2004")%>
</body>
</html>
示例解讀:
在這個示例中,將2005年1月31日加上一個月,DateAdd 返回2005年2月28日,而不是 2005年2月31日。如果將2004年1月31日加上一個月,則返回2004年2月29日,這是因為2004是閏年。
如果計算的日期是在公元 100 年之前,則會產生錯誤。
(2)DateDiff 函數
格式:DateDiff(interval, date1, date2)
參數:
interval 指定date1和date2之間的時間間隔。取值如下所示:年yyyy,月m,日d,時h,分n,秒s,周ww。
date1, date2 日期表達式。用于計算的兩個日期。
說明:返回兩個日期之間的時間間隔
示例 2-4-11.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
<%
dim m,d1,d2
m=datediff("m",#2005/2/1#,Date)'返回從05年2月至今日有幾個月
d1=datediff("d",#2005-2-1#,Date)'返回從05年2月至今日有幾天
d2=datediff("d",Date,#2007-1-1#)'返回現在到2007年1月1日有多少天
d3=datediff("ww",#2005-3-1#,date)'返回從05年3月1日至今日有幾周
d4=datediff("h",#2005-3-1#,date)'返回從05年3月1日至今日有多少小時
response.write m&"<br>"
response.write d1&"<br>"
response.write d2&"<br>"
response.write d3
response.write "<br>"
response.write d4
%>
</body>
</html>
兩個參數是兩個日期。為了避免出現負數,第一個日期參數應該比第二個早。(如果該函數返回一個負數,你應該知道第一個日期比第二個日期晚。)
二、轉換函數
在Vbscript中,表達式中的變量一般會根據情況進行自動轉換,但是有的時候這種轉換會造成類型不匹配,這時就需要使用轉換函數進行轉換。轉換函數常用的有以下幾個。
1、轉換為字符串類型
CStr(expression) 將表達式expression轉換為字符串
示例 2-4-12.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
<%
dim a,b,c
'下面定義兩個數字類型的數據
a=10
b=20
‘使用CStr函數把數字轉換為字符串后相加
c=CStr(a)+CStr(b)
response.write c '輸出1020
%>
</body>
</html>
2、轉換為日期類型
CDate(date)
參數date可以是日期或時間類型的數據,也可以是數字,數字的整數部分被轉換為日期,分數部分被轉換為從午夜開始計算的時間。轉換函數CDate()根據系統(tǒng)的區(qū)域設置轉換為相應的日期格式。
示例 2-4-13.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
<%
dim a,b,c
a = "October 19, 1962" ' 定義日期,October(十月)
response.write CDate(a) ' 轉換為日期數據類型。
response.write "<br>"
b="4:35:47 PM" ' 定義時間。
response.write CDate(b) ' 轉換為日期數據類型。
response.write "<br>"
c=5.65 ' 定義數字。
response.write CDate(c) ' 轉換為日期數據類型。
%>
</body>
</html>
4 轉換為數字
CInt(expression)轉換為整數
CLng(expression)轉換為長整數
(注:Int和Fix函數也能將小數轉換為整數)
CByte(expression)轉換為Byte類型 (包含 0 到 255 之間的整數。)
CSng(expression)轉換為Single類型 (包含單精度浮點數)
CDbl(expression)轉換為Double 類型 (包含雙精度浮點數)
CCur(expression)轉換為Currency類型 (-922,337,203,685,477.5808 到 922,337,203,685,477.5807。)
示例 2-4-14.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
<%
dim a
'CInt和CLng函數總是四舍五入
response.write CInt(2345.4578)'輸出2345
response.write "<br>"
response.write CLng("2345.5678")'輸出2346
response.write "<br>"
%>
</body>
</html>
三、數學函數
下面是一些常用的數學函數
1 abs(number)返回數字的絕對值。
2 sqr(number)返回數值的平方根。
3 sin(number)返回某個角的正弦值。
4 cos(number)返回某個角的余弦值。
5 tan(number)返回某個角的正切值。
6 atn(number) 返回數值的反正切值。
7 log(number)返回數值的自然對數。
8 int(number)返回數字的整數部分,對于負數注意,-8.4轉為-9。
Fix(number)返回數字的整數部分,對于負數注意,-8.4轉為-8。
9 rnd()返回一個小于 1 但大于或等于 0 的值。rnd函數在使用中可以用語句Randomize進行初始化;
10 ubound(數組名,數組維數)返回數組的最大下標數
11 formatnumber(帶有小數的數字,要保留的小數點位數)
示例 2-4-15.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
<%
dim a
a=-3.141592
'刪除小數點的函數,對于負數有所區(qū)別;
response.write int(a) '顯示-4
response.write "<br>"
response.write fix(a) '顯示-3
response.write "<br>"
'保留小數點的位數試驗,保留兩位小數點
response.write formatnumber(a,2) '顯示-3.14
%>
</body>
</html>
示例 2-4-16.asp
<html>
<head>
<title>asp簡單程序</title>
</head>
<body>
<%
'隨機函數rnd在頁面加載時會產生一個小于1大于或等于0的值
response.write rnd()
response.write "<br>"
'在刷新頁面時要產生新的隨機數,就得進行初始化
Randomize '這個函數能夠初始化位于它下面的rnd
response.write rnd()
response.write "<br>"
'頁面刷新時產生一個1-20之間的隨機整數
response.write int((20*rnd())+1)
%>
</body>
</html>
注意:
要產生指定范圍的隨機整數,請使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這里, upperbound 是此范圍的上界,而 lowerbound 是此范圍內的下界。
示例: 2-4-16a.asp
<%
dim ss
Randomize '初始化隨機數
ss = Int((9001 * Rnd) + 1000) '產生 1000 到 10000 之間的4位隨機數。
response.write ss
%>
四、字符串函數
VBscript包括大量用于操作字符串的函數。當你需要操作來自HTML表單或數據庫的數據時,你會發(fā)現這些函數非常有用。你可以用這些函數來拼接字符串,抽取字符串,搜索字符串,和比較字符串。
1、連接字符串符號及函數
(1)連接字符串符號
用連接運算符(&)可以把短的字符串拼接為長的字符串,請看下面的示例
示例 2-4-17.asp
<%
a="我們是"
b="最好的"
c="朋友"
response.Write(a&b&c)
%>
你也可以用加號(+)來連接字符串。但是,我們不推薦使用這種方法。它與&運算符不同,“+”運算符并不保證返回一個字符串。請看下面的例子:
示例 2-4-18.asp
<%
myvar=5
%>
<%="我今天學了"&myvar&"條語句"%>
示例 2-4-19.asp
<%
myvar=8
%>
<%="我今天上午"+myvar+ "點鐘上班"%>
示例解讀:
第一個示例返回“我今天學了5條語句”。測試第二個示例將返回
錯誤類型:
Microsoft VBScript 運行時錯誤 (0x800A000D)
類型不匹配: '[string: "我今天上午"]'
/ASP教程/d2/VBsl/2-4-19.asp, 第 4 行
因為這個語句實際上會試圖將myvar的值加到字符串表達式上。說明使用(+)連接符時,有時候會出錯。
如果你有一個字符數組,你還可以用函數JOIN()連接數組中所有的字符串。
(2)字符串連接函數 Join(list[,delimiter])
說明:返回一個字符串,此字符串由包含在數組中的許多子字符串連接創(chuàng)建。
參數
list 必選項。包含要連接的子字符串一維數組。
Delimiter 可選項。在返回字符串中用于分隔子字符串的字符。如果省略,將使用空字符 ("")。如果 delimiter 是零長度字符串,則在同一列表中列出全部項,沒有分界符。
示例 2-4-20. asp
<%
dim myarray(3)
myarray(0)="垃圾郵件占用大量網絡資源,"
myarray(1)="并常常成為網絡病毒傳播的工具, "
myarray(2)="威脅互聯網信息安全,"
myarray(3)="侵害了電子郵件用戶的合法權益。"
response.write JOIN(myarray)
response.write "<br>"
response.write JOIN(myarray,"/")
%>
注意:myarray必須是一個一維數組(一個列表)。
2、字符串去空格函數
Trim(string) 將字符串前面和后面的空格去掉。
RTrim(string),將字符串右邊的空格去掉。
LTrim(string), 將字符串左邊的空格去掉。
示例 2-4-22.asp
<%
dim a,b
a=" Vbscript "
b=" 你好 "
response.write b&"+"&a
response.write "<br>"
response.write Trim(b)&"+"&Trim(a)'顯示時,去掉字符串兩邊的空格。
response.write "<br>"
response.write RTrim(b)&"+"&RTrim(a)'顯示時,去掉字符串右邊的空格。
response.write "<br>"
response.write LTrim(b)&"+"<rim(a)'顯示時,去掉字符串左邊的空格。
%>
3、字符串長度獲取函數
(1) len(string)返回字符串內字符的數目。
(2) Left(string, length) 返回從字符串的左邊算起的字符。
(3) Right(string, length)返回從字符串的右邊算起的字符。
(4) Mid(string,start,length)返回字符串中指定數目的字符。
參數:
string給定字符串
start指定開始位置,如果 start 超過了 string 中字符的數目,Mid 將返回零長度字符串 ("")。
length指定返回的數目,如果省略或 length 超過文本的字符數(包括 start 處的字符),將返回字符串中從 start 到字符串結束的所有字符。
示例 2-4-23.asp
<%
dim a
a="Vbscript,Javascript"
'字符串中一共有多少字符
response.write len(a) '顯示19
response.write "<br>"
'從左邊算起指定一個位置,返回從開始到該位置的字符
response.write Left(a,8)'顯示Vbscript
response.write "<br>"
response.write right(a,10) '顯示Javascript
response.write "<br>"
'我想返回中間的"script,Java"
response.write Mid(a,3,11)
%>
4、字符串分割函數
Split(expression[, delimiter[, count[, start]]])
說明:返回基于 0 的一維數組,其中包含指定數目的子字符串。也就是說它把一個字符串分割成多個部分。分割操作的結果被放在一個數組中。
參數
expression
必選項。字符串表達式,包含子字符串和分隔符。如果 expression 為零長度字符串,Split 返回空數組,即不包含元素和數據的數組。
delimiter
可選項。用于標識子字符串界限的字符。如果省略,使用空格 ("") 作為分隔符。如果 delimiter 為零長度字符串,則返回包含整個 expression 字符串的單元素數組。
count
可選項。被返回的子字符串數目,-1 指示返回所有子字符串。
示例 2-4-24.asp
<%
dim mystring, myarray
mystring= "VBScriptXisXfun!"
myarray=Split(mystring,"X" )'以“X”為分界符分割字符串
response.write myarray(0)&"<br>"
response.write myarray(1)&"<br>"
response.write myarray(2)&"<br>"
response.write JOIN(myarray)
%>
缺省情況下,函數SPLIT()通過在空格處截斷來分割一個字符串。然而,你可以為該函數提供第二個參數,根據其他的字符來分割字符串。缺省情況下,該函數能把一個字符串分割成多少部分,就分割成多少部分。但是你可以提供第三個參數來限制該函數返回的子字符串的數目。下面的這個例子使用了這兩個附加參數:
<%
myarray=SPLIT(“Once upon a time,there were three bears.”,”,”,2)
%>
在這個例子中,字符串被分割成兩個。逗號左邊的子字符串被保存在數組的第一個元素中;逗號右邊的子字符串被保存在數組的第二個元素中。
5、字符串過濾函數
Filter(InputStrings, Value[, Include[, Compare]])
說明:返回下標從零開始的數組,其中包含以特定過濾條件為基礎的字符串數組的子集。
參數:
InputStrings
必選項。一維數組,要在其中搜索字符串。
Value
必選項。要搜索的字符串。
Include
可選項。Boolean 值,指定返回的子字符串是否包含 Value。如果 Include 為 True,Filter 將返回包含子字符串 Value 的數組子集。如果 Include 為 False,Filter 將返回不包含子字符串 Value 的數組子集。
Compare
可選項。數字值指出使用的比較字符串類型。
函數FILTER()可以過濾一個數組。假定你想從一個句子中過濾掉不包含字母t的每一個詞。用函數FILTER(),請看下面的試例:
示例 2-4-25.asp
<%
dim mystr,myarray
mystr="Once upon a time,there were three bears."
myarray=SPLIT(mystr)'把字符串分割為數組,默認情況下以空格為分割符
myarray=FILTER(myarray,"t")
'函數FILTER()過濾掉所有不匹配字符串”t”的數組元素。
response.write JOIN(myarray)&"<br>"'把過濾后的字符串連接起來
%>
如果你想從一個句子中過濾掉包含字母t的每一個詞,那么就在函數Filter()中加入參數false。如下所示:
示例 2-4-26.asp
<%
dim mystr,myarray
mystr="Once upon a time,there were three bears."
myarray=SPLIT(mystr)'把字符串分割為數組,默認情況下以空格為分割符
myarray=FILTER(myarray,"t",false)'函數FILTER()過濾掉匹配特定字符串"t"的所有數組元素
response.write JOIN(myarray)'把過濾后的字符串連接起來
%>
6、字符串替換函數
Replace(expression, find, replacewith)
返回字符串,其中指定數目的某子字符串find被替換為另一個子字符串replacewith;
示例 2-4-27.asp
<%
'用Java替換Vb
response.write replace("Vbscript","Vb","Java")
%>
7、返回字符位置
InStr(string1,string2)
返回string2字符串在string1字符串中第一次出現的位置;
示例 2-4-28.asp
<%
dim a,b,c
a="@Vbscript"
b="Vbscr@ip@t"
c="Vbscript"
'返回@第一次出現的位置,如果返回0表示不存在
response.write InStr(a,"@")&"<p>"
response.write InStr(b,"@")&"<p>"
response.write InStr(c,"@")
%>
8、字符串比較函數
StrComp(string1,string2)對string1和string2進行二進制比較,
如果string1 小于 string2 返回 -1
如果string1 等于 string2 返回 0
如果string1 大于 string2 返回 1
如果string1 或 string2 為 Null 返回 Null
示例 2-4-29.asp
<%
dim a,b,c
a="Vbscript"
b="Vbscript"
c="Javascript"
'如果a與b相等,則返回0
response.write StrComp(a,b)
response.write "<br>"
'如果a大于c則返回1,反之返回-1
response.write StrComp(a,c)
response.write "<br>"
response.write StrComp(c,a)
%>
示例 2-4-30.asp
<%
dim a,b
'給定密碼
a="123456"
'再次輸入密碼b
b="234567"
if StrComp(a,b)<>0 then
response.write "你輸入的密碼不正確"
end if
%>
示例解讀
函數StrComp進行二進制比較,是一種嚴格比較,例如:比較a與a則相等,而a與A檢查結果會不相等。
五、檢驗函數
1 IsNumeric(expression)
檢驗表達式expression的值是否為數字,如果為數字,函數返回 True;否則函數返回 False;
2 IsDate(expression)
如果表達式expression是日期或時間類型,則 IsDate 函數返回 True;否則函數返回 False
3 IsNull(expression)
如果expression為Null,則IsNull函數返回 True,即表達式不包含有效數據,否則 IsNull 返回 False。如果 expression由多個變量組成,則表達式的任何組成變量中的 Null 都會使整個表達式返回 True。Null 值指出變量不包含有效數據。Null 與 Empty 不同,后者指出變量未經初始化。Null 與零長度字符串 ("") 也不同,零長度字符串往往指的是空串。
4 IsEmpty(expression)
IsEmpty 用于判斷一個變量是否已初始化,如果變量未初始化或顯式地設置為 Empty,則函數 IsEmpty 返回 True;否則函數返回 False。如果 expression 包含一個以上的變量,總返回 False。
5 IsObject(expression)
檢查表達式expression的值,如果expression是對象類型,函數返回True
6 IsArray(expression)如果expression是數組類型,函數返回True
7 VarType(varname)
檢查變量varname的值,返回一些數字,不同的數字有不同的含義
常數 值 描述
--------------------------------------------
vbEmpty 0 Empty(未初始化)
vbNull 1 Null(無有效數據)
vbInteger 2 整數
vbLong 3 長整數
vbSingle 4 單精度浮點數
vbDouble 5 雙精度浮點數
vbCurrency 6 貨幣
vbDate 7 日期
vbString 8 字符串
vbObject 9 Automation 對象
vbError 10 錯誤
vbBoolean 11 Boolean
vbVariant 12 Variant(只和變量數組一起使用)
vbDataObject 13 數據訪問對象
vbByte 17 字節(jié)
vbArray 8192 數組
----------------------------------------------------