vb6.0函數(shù)大全_第1頁(yè)
vb6.0函數(shù)大全_第2頁(yè)
vb6.0函數(shù)大全_第3頁(yè)
vb6.0函數(shù)大全_第4頁(yè)
vb6.0函數(shù)大全_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Abs函數(shù)返回參數(shù)的絕對(duì)值,其類型和參數(shù)相同。語(yǔ)法Abs numbei)必要的number參數(shù)是任何有效的 數(shù)值表達(dá)式,如果number包含Null ,則返 回Null ,如果number是未初始化的變量,則返回0。說明一個(gè)數(shù)的絕對(duì)值是將正負(fù)號(hào)去掉以后的值。 例如,ABS(-1)和ABS(1)者B返回1。Abs函數(shù)示例本示例使用Abs函數(shù)計(jì)算數(shù)的絕對(duì)值。Dim MyNumberMyNumber = Abs(50.3)' 返回 50.3。MyNumber = Abs(-50.3)' 返回 50.3 。Array函數(shù)返回一個(gè)包含數(shù)組的Variant。語(yǔ)法Array( arglist

2、 )所需的arglist 參數(shù)是一個(gè)用逗號(hào)隔數(shù)的值表、這些值用于給Variant所包含 的數(shù)組的各元素賦值。如果不提供參數(shù),則創(chuàng)建一個(gè)長(zhǎng)度為0的數(shù)組。說明用來表示數(shù)組元素的符號(hào)由 變量名、圓括號(hào)以及括號(hào)中的所需元素的索引號(hào)組成。 在下面的示例中,第一條 語(yǔ)句創(chuàng)建一個(gè)Variant的變量A。第二條語(yǔ)句將一個(gè) 數(shù)組賦給變量Ao最后一條語(yǔ)句將該數(shù)組的第二個(gè)元素的值賦給另一個(gè)變量。Dim A As VariantA = Array(10,20,30)B = A(2)使用Array函數(shù)創(chuàng)建的數(shù)組的下界受 Option Base語(yǔ)句指定的下界的決定, 除非Array是由類型庫(kù)(例如 VBA.Array )

3、名稱限定。如果是由類型庫(kù)名稱限 定,則 Array 不受 Option Base 的影響。注意 沒有作為數(shù)組聲明的 Variant也可以表示數(shù)組。除了長(zhǎng)度固定的字符串以 及用戶定義類型 之外,Variant變量可以表示任何類型的數(shù)組。 盡管一個(gè)包含數(shù) 組的Variant和一個(gè)元素為Variant類型的數(shù)組在概念上有所不同,但對(duì)數(shù)組 元素的訪問方式是相同的。Array函數(shù)示例該示例使用Array函數(shù)來返回一個(gè)包含 Variant的數(shù)組。Dim MyWeek, MyDayMyWeek = Array("Mon", "Tue", "Wed"

4、, "Thu", "Fri", "Sat", "Sun") '返回值假設(shè)下京的設(shè)置為1 (使用Option Base語(yǔ)句)。MyDay = MyWeek(2) 'MyDay 的值為"Tue"。MyDay = MyWeek(4) 'MyDay 的值為"Thu"。Asc函數(shù)返回一個(gè)Integer ,代表字符串中首字母的 字符代碼。語(yǔ)法Asc( string )必要的string 參數(shù)可以是任何有效的 字符串表達(dá)式。如果string 中沒有包含 任何字符,則

5、會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。說明在非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ù)功能相同。Asc函數(shù)示例本示例使用Asc函數(shù)返回字符串首字母的字符值(ASCII值)返回65 o返回97。返回65Dim MyNumberMyNumber = Asc("A")'MyNumber = Asc("a")'MyNumb

6、er = Asc("Apple")Atn函數(shù)返回一個(gè)Double,指定一個(gè)數(shù)的反正切值。語(yǔ)法Atn( numbei)必要的number參數(shù)是一個(gè)Double或任何有效的數(shù)值表達(dá)式。說明Atn函數(shù)的參數(shù)值(number)為直角三角形兩邊的比值并返回以弧度為單位的 角。這個(gè)比值是角的對(duì)邊長(zhǎng)度除以角的鄰邊長(zhǎng)度之商。值的范圍在-pj_/2和pi/2 弧度之間。為了將角度轉(zhuǎn)換為弧度,請(qǐng)將角度乘以pi/180。為了將弧度轉(zhuǎn)換為角度,請(qǐng)將弧度乘以180/pi。注意Atn是Tan的反三角函數(shù),Tan的參數(shù)值為角度,返回直角三角形的兩條 邊的比值。不要將 Atn和余切函數(shù)混淆,余切函數(shù)值是正

7、切函數(shù)值的倒數(shù), cotangent = (1/tangent) 。CallByName 函數(shù)執(zhí)行一個(gè)對(duì)象的方法,或者設(shè)置或返回一個(gè) 對(duì)象的屬性。語(yǔ)法CallByName(object, procedurename, calltype,arguments() )CallByName函數(shù)的語(yǔ)法有以下部分:部分描述object必需的;變體型(對(duì)象)。函數(shù)將要執(zhí)行的對(duì)象的名稱。procedurename必需的;變體型(字符串)。一個(gè)包含該對(duì)象的屬性名稱或者 方法名稱的字符串表達(dá)式。calltype必需的;常數(shù)。一個(gè)vbCallType類型的常數(shù),代表正在被調(diào) 用的過程的類型。arguments??蛇x

8、的:變體型(數(shù)組)。說明CallByName函數(shù)用于獲取或者設(shè)置一個(gè)屬性,或者在運(yùn)行時(shí)使用一個(gè)字符串名 稱來調(diào)用一個(gè)方法。在下面的例子中,第一行使用 CallByName來設(shè)置一個(gè)文本框的 MousePointer 屬性,第二行得到MousePointer屬性的值,第三行調(diào)用Move方法來移動(dòng)文本 框:CallByName Textl, "MousePointer", vbLet, vbCrosshairResult = CallByName (Text1, "MousePointer", vbGet)CallByName Text1, "Mo

9、ve", vbMethod, 100, 100Choose函數(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)目的其中之一。說明Choose會(huì)根據(jù)index的值來返回選擇項(xiàng)列表中的某個(gè)值。如果 index是1, 則Choose會(huì)返回列表中的第1個(gè)選擇項(xiàng)。如果index是2 ,則會(huì)返回列表中 的第2個(gè)選

10、擇項(xiàng),以此類推。可以使用Choose來查閱一個(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ì)顯示一次消息框。

11、當(dāng)index小于1或大于列出的選擇項(xiàng)數(shù)目時(shí),Choose函數(shù)返回Null。如果index不是整數(shù),則會(huì)先四舍五入為與其最接近的整數(shù)。Choose函數(shù)示例本示例使用Choose函數(shù)來顯示一個(gè)名稱,該名稱對(duì)應(yīng)於用Ind參數(shù)傳遞到過程之中的索引。Function GetChoice(Ind As Integer)GetChoice = Choose(Ind, "Speedy", "United", "Federal") End FunctionChr函數(shù)返回String 、其中包含有與指定的字符代碼相關(guān)的字符。語(yǔ)法Chr( charcode

12、)必要的charcode參數(shù)是一個(gè)用來識(shí)別某字符的 Long。說明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ù) 相同。Chr函數(shù)示例本示例使用Chr函數(shù)來返回指定字符碼所代表的字符。

13、Dim MyCharMyChar = Chr(65)' 返回 A。MyChar = Chr(97)' 返回 a。MyChar = Chr(62)' 返回 。MyChar = Chr(37)' 返回 。Commands 數(shù)返回命令行的參數(shù)部分,該命令行用于裝入 Microsoft Visual Basic或Visual Basic開發(fā)的可執(zhí)行程序。語(yǔ)法Command說明當(dāng)從命令行裝入Visual Basic 時(shí),/cmd之后的命令行的任何部分作為命令行 的參數(shù)傳遞給程序。下面的示例中,cmdlineargs代表Commands數(shù)返回的參 數(shù)信息。VB /cmd c

14、mdlineargs對(duì)于使用Visual Basic開發(fā)并編譯為.exe文件的應(yīng)用程序,Command!回出 現(xiàn)在命令行中應(yīng)用程序名之后的任何參數(shù)。例如:MyApp cmdlineargs想知道如何在正在使用的應(yīng)用程序的用戶界面中改變命令行參數(shù),請(qǐng)搜尋關(guān)于“命令行參數(shù)”的幫助。Command數(shù)示例本示例在某個(gè)函數(shù)中用 Command數(shù)獲得命令行參數(shù),并將命令行參數(shù)以 Variant 類型之?dāng)?shù)組返回。Function GetCommandLine(Optional MaxArgs)' 聲明變量。Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs'

15、; 檢查是否提供了MaxArgs 參數(shù)。If IsMissing(MaxArgs) Then MaxArgs = 10' 使數(shù)組的大小合適。ReDim ArgArray(MaxArgs)NumArgs = 0: InArg = False' 取得命令行參數(shù)。CmdLine = Command()CmdLnLen = Len(CmdLine)' 以一次一個(gè)字符的方式取出命令行參數(shù)。For I = 1 To CmdLnLenC = Mid(CmdLine, I, 1)' 檢測(cè)是否為space 或 tab 。If (C <> " " A

16、nd C <> vbTab) Then'若既不是space 鍵,也不是 tab鍵,'則檢測(cè)是否為參數(shù)內(nèi)含之字符。If Not InArg Then'新的參數(shù)。'檢測(cè)參數(shù)是否過多。If NumArgs = MaxArgs Then Exit ForNumArgs = NumArgs + 1InArg = TrueEnd If' 將字符連接到當(dāng)前參數(shù)中。ArgArray(NumArgs) = ArgArray(NumArgs) & CElse' 找到 space 或 tab 。' 將 InArg 標(biāo)志設(shè)置成False 。I

17、nArg = FalseEnd IfNext I' 調(diào)整數(shù)組大小使其剛好符合參數(shù)個(gè)數(shù)。ReDim Preserve ArgArray(NumArgs)' 將數(shù)組返回。GetCommandLine = ArgArray()End FunctionCos函數(shù)返回一個(gè)Double,指定一個(gè)角的余弦值。語(yǔ)法Cos(numbei)必要的number參數(shù)是一 Double或任何有效的數(shù)值表達(dá)式,表示一個(gè)以弧度為 單位的角。說明Cos函數(shù)的參數(shù)為一個(gè)角,并返回直角三角形兩邊的比值。該比值為角的鄰邊長(zhǎng) 度除以斜邊長(zhǎng)度之商。結(jié)果的取值范圍在-1到1之間。為了將角度轉(zhuǎn)換成弧度,請(qǐng)將角度乘以 pL/

18、180 0為了將弧度轉(zhuǎn)換成角度,請(qǐng)將 弧度乘以180/pi。Cos函數(shù)示例本示例使用Cos函數(shù)計(jì)算一個(gè)角的余弦。Dim MyAngle, MySecantMyAngle = 1.3 '定義角度(以“弧度”為單位)。MySecant = 1 / Cos(MyAngle)'利用余弦計(jì)算正割(sec()。CreateObject 函數(shù)創(chuàng)建并返回一個(gè)對(duì) ActiveX 對(duì)象的引用。語(yǔ)法CreateObject( class,servername)CreateObject函數(shù)的語(yǔ)法有如下部分:部分描述class必需的;Variant ( String ).要?jiǎng)?chuàng)建的應(yīng)用程序名稱和類。ser

19、vername可選的;Variant ( String ).要在其 上創(chuàng)建對(duì)象的網(wǎng)絡(luò)服務(wù)器名稱。class參數(shù)使用appname objecttype 這種語(yǔ)法,包括以下部分:部分描述appname必需的;Variant (字符串)。提供該對(duì)象的應(yīng)用程序名。objecttype必需的;Variant (子符串)。待創(chuàng)建對(duì)象的類型或 冬說明每個(gè)支持自動(dòng)化的應(yīng)用程序都至少提供一種對(duì)象類型。例如,一個(gè)字處理應(yīng)用程序可能會(huì)提供 Application對(duì)象,Document對(duì)象,以及 Toolbar對(duì)象。要?jiǎng)?chuàng)建ActiveX 對(duì)象,只需將 CreateObject返回的對(duì)象賦給一個(gè) 對(duì)象變量:'

20、聲明一個(gè)對(duì)象變量來存放該對(duì)象'的引用。Dim as Object采用后期綁定方式。Dim ExcelSheet As ObjectSet ExcelSheet = CreateObject("Excel.Sheet")上述代碼將啟動(dòng)該應(yīng)用程序創(chuàng)建該對(duì)象,在本例中就是創(chuàng)建一個(gè)MicrosoftExcel電子數(shù)據(jù)表。對(duì)象創(chuàng)建后,就可以在代碼中使用自定義的對(duì)象變量來引用 該對(duì)象。在下面的示例中,可以使用對(duì)象變量ExcelSheet來訪問新建對(duì)象的 屬 性和方法、以及訪問Microsoft Excel的其它對(duì)象,包括應(yīng)用程序?qū)ο蠛蛦卧窦稀?#39;設(shè)置Applicati

21、on 對(duì)象使Excel可見ExcelSheet.Application.Visible = True在表格的第一個(gè)單元中寫些文本ExcelSheet.Cells(1, 1).Value = "This is column A, row 1"將該表格保存到C:test.doc 目錄ExcelSheet.SaveAs "C: TEST.DOC"'使用應(yīng)用程序?qū)ο蟮腝uit方法關(guān)閉Excel。ExcelSheet.Application.Quit釋放該對(duì)象變量Set ExcelSheet = Nothing使用As Object子句聲明對(duì)象變量,可以創(chuàng)

22、建一個(gè)能包含任何類型對(duì)象引用的 變量。不過,該變量訪問對(duì)象是后期綁定的,也就是說,綁定在程序運(yùn)行時(shí)才進(jìn) 行。要?jiǎng)?chuàng)建一個(gè)使用前期綁定方式的對(duì)象變量,也就是說,在程序編譯時(shí)就完成綁定,則對(duì)象變量在聲明時(shí)應(yīng)指定類ID。例如,可以聲明并創(chuàng)建下列 Microsoft Excel引用:Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorkSheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.W

23、orkbooks.AddSet xlSheet = xlBook.Worksheets(1)前期綁定的變量引用可以提供更好的性能,但該變量只能存放 聲明中所指定的頭的引用。可以將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è)共

24、享名稱為"MyServerPublic," 的servername參數(shù)是 "MyServer"。下面的代碼返回在一個(gè)名為MyServer的遠(yuǎn)端計(jì)算機(jī)上運(yùn)行的Excel實(shí)例的版 本號(hào):Dim xlApp As ObjectSet xlApp = CreateObject("Excel.Application", "MyServer") Debug.Print xlApp.Version如果遠(yuǎn)端服務(wù)器不存在或者不可用,則會(huì)發(fā)生一個(gè)運(yùn)行時(shí)錯(cuò)誤。注意當(dāng)該對(duì)象當(dāng)前沒有實(shí)例時(shí),應(yīng)使用CreateObject。如果該對(duì)象已有實(shí)例

25、在 運(yùn)行,就會(huì)啟動(dòng)一個(gè)新的實(shí)例,并創(chuàng)建一個(gè)指定類型的對(duì)象。要使用當(dāng)前實(shí)例, 或要啟動(dòng)該應(yīng)用程序并加載一個(gè)文件,可以使用 GetObject函數(shù)。如果對(duì)象已登記為單個(gè)實(shí)例對(duì)象,則不管執(zhí)行多少次CreateObject ,都只能創(chuàng)建該對(duì)象的一個(gè)實(shí)例。CreateObject函數(shù)示例該示例使用CreateObject函數(shù)設(shè)置一個(gè)對(duì)Microsoft Excel 的引用(xlApp)。 它使用該引用來訪問Microsoft Excel 的Visible 屬性,并使用Microsoft Excel的Quit方法將其關(guān)閉,最后再釋放該引用。Dim xlApp As Object '定義存放引用對(duì)象

26、的變量。Set xlApp = CreateObject("excel.application")如果要讓該應(yīng)用程序可見,則需將Visible屬性設(shè)為True。xlApp.Visible = True' 可以使用xlApp 訪問Microsoft Excel 的'其它對(duì)象。xlApp.Quit ' 完成時(shí),調(diào)用Quit方法關(guān)閉Set xlApp = Nothing ' 該應(yīng)用程序,然后釋放該引用。CurDir函數(shù)返回一個(gè) Variant ( String ),用來代表當(dāng)前的路徑。語(yǔ)法CurDir (drive )可選的drive參數(shù)是一個(gè)字符

27、串表達(dá)式,它指定一個(gè)存在的驅(qū)動(dòng)器。如果沒有 指定驅(qū)動(dòng)器,或drive是零長(zhǎng)度字符串(""),則CurDir會(huì)返回當(dāng)前驅(qū)動(dòng)器的 路徑。CurDir函數(shù)示例本示例使用CurDir函數(shù)來返回當(dāng)前的路徑。假設(shè)C驅(qū)動(dòng)器的當(dāng)前路徑為" C:WINDOWSSYSTEM假設(shè)D驅(qū)動(dòng)器的當(dāng)前路徑為" D:EXCEL'。'假設(shè)C為當(dāng)前的驅(qū)動(dòng)器。Dim MyPathMyPath = CurDir ' 返回 "C:WINDOWSSYSTEMMyPath = CurDir("C") 返回 "C:WINDOWSSYSTE

28、MMyPath = CurDir("D") 返回 "D:EXCEL'。CVErr函數(shù)返回Error子類型的Variant ,其中包含指定的 錯(cuò)誤號(hào)語(yǔ)法CVErr( errornumber)必要的errornumber參數(shù)可以是任何有效的錯(cuò)誤號(hào)代碼。說明 可以在過運(yùn)中,使用CVErr函數(shù)來創(chuàng)建用戶自定義錯(cuò)誤。例如,如果創(chuàng)建一個(gè) 函數(shù),它可以接受若干個(gè)參數(shù),且正常返回一個(gè)字符串,則可以讓函數(shù)來判斷輸 入的參數(shù),確認(rèn)它們是在可接受的范圍內(nèi)。如果不是的話,此函數(shù)將不會(huì)返回所 要的字符串。在這種情況下,CVErr可以返回一個(gè)錯(cuò)誤號(hào),并告知應(yīng)該采取的行 動(dòng)。注意,Er

29、ror的隱式轉(zhuǎn)換是不允許的,例如,不能直接把 CVErr的返回值賦值 給一個(gè)非Variant的變量。然而,可以對(duì)CVErr的返回值進(jìn)行顯式轉(zhuǎn)換(使用 CInt、CDbl等等),麗所給適當(dāng)?shù)?數(shù)據(jù)類型變量。CVErr函數(shù)示例本示例使用CVErr函數(shù)返回一 Variant類型的值,其VarType為vbError (10)。如果傳進(jìn)去的參數(shù)不是一個(gè)數(shù)字,用戶自定義函數(shù)CalculateDouble 將會(huì)返回錯(cuò)誤信息??捎?CVErr返回來自用戶自定義過程的自定義錯(cuò)誤,或改變 處理運(yùn)行時(shí)錯(cuò)誤的方式。IsError函數(shù)可用來測(cè)試返回值是否代表錯(cuò)誤狀態(tài)。'調(diào)用CalculateDouble ,且

30、傳入一會(huì)產(chǎn)生錯(cuò)誤的參數(shù)。Sub Test()Debug.Print CalculateDouble("345.45robert") End Sub'定義CalculateDouble函數(shù)過程。Function CalculateDouble(Number)If IsNumeric(Number) ThenCalculateDouble = Number * 2 '返回結(jié)果。ElseCalculateDouble = CVErr(2001)'返回一自定義錯(cuò)誤碼。End IfEnd FunctionDate函數(shù)返回包含系統(tǒng)日期的 Variant ( Da

31、te)語(yǔ)法Date說明為了設(shè)置系統(tǒng)日期,請(qǐng)使用 Date語(yǔ)句。Date函數(shù)示例本示例使用Date函數(shù)返回系統(tǒng)當(dāng)前的日期。Dim MyDateMyDate = Date ' MyDate的值為系統(tǒng)當(dāng)前的日期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ù)(得到未來的日期),也可以為負(fù)數(shù)(得到

32、過去的日期)。date必要。Variant (Date)或表示日期的義字,這一日期還加上了時(shí)間 間隔。設(shè)置interval參數(shù)具有以下設(shè)定值:設(shè)置描述yyyy年q季m月y一年的日數(shù)d日w一周的日數(shù)ww周h時(shí)n分鐘s秒說明可以使用DateAdd函數(shù)對(duì)日期加上或減去指定的時(shí)間問隔。例如,可以用 DateAdd來計(jì)算距今天為三十天的日期;或者計(jì)算距現(xiàn)在為45分鐘的時(shí)間。為了對(duì)date加上“日”,可以使用“一年的日數(shù)” (“y”),“日“ (" d") 或“一周的日數(shù)“ (“ w")。DateAdd函數(shù)將不返回有效日期。在以下實(shí)例中將1月31日加上一個(gè)月:DateAdd(

33、m, 1,31-Jan-95)上例中,DateAdd返回1995年2月28日,而不是1995年2月31日。如 果date是1996年1月31日,則由于1996年是閏年,返回值是1996年2 月29日。如果計(jì)算的日期超前100年(減去的年度超過 date中的年份),就會(huì)導(dǎo)致錯(cuò) 誤發(fā)生。如果number不是一個(gè)Long佰,則在計(jì)算時(shí)取最接近的整數(shù)值來計(jì)算。注意DateAdd返回值的格式由 Control Panel設(shè)置決定,而不是由傳遞到date 參數(shù)的格式?jīng)Q定。DateAdd函數(shù)示例本示例先取得一個(gè)日期,再用DateAdd函數(shù)顯示未來數(shù)月后的日期。Dim FirstDate As Date &#

34、39;聲明變量。Dim IntervalType As StringDim Number As IntegerDim MsgIntervalType = "mm" 指定以“月份”作為間隔。FirstDate = InputBox("Enter a date")Number = InputBox("Enter number of months to add")Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)MsgBox MsgDateD

35、iff 函數(shù)返回Variant ( Long)的值,表示兩個(gè)指定日期間的時(shí)間間隔數(shù)目。語(yǔ)法DateDiff( interval, date1, date2 , firstdayofweek , firstweekofyear )DateDiff函數(shù)語(yǔ)法中有下列 命名參數(shù):部分描述interval必要。字符串表封式,表小用來計(jì)算date1和date2的時(shí) 間差的時(shí)間1日隔Date1 Ddate2必要;Variant (Date)。計(jì)算中要用到的兩個(gè)日期。Firstdayofweek可選。指廿個(gè)星期的第f 的 常數(shù)。如果未予指定,則以 星期日為第f。firstweekofyear可選。指廿年的第一

36、周的 Wo如果未予指定,則以包含 1月1日的星期為第一周。設(shè)置interval 參數(shù)的設(shè).定侑如下:設(shè)置描述yyyy年q季m月y一年的日數(shù)d日w一周的日數(shù)ww周h時(shí)n分鐘s秒firstdayofweek參數(shù)的設(shè)定值如下:常數(shù)值描述vbUseSystem0使用NLS API設(shè)置。vbSunday1星期日(缺省值)vbMonday2星期一vbTuesday3星期二vbWednesday4星期三vbThursday5星期四vbFriday6星期五vbSaturday7星期六常數(shù)值描述vbUseSystem0用NLS API設(shè)置。vbFirstJan11從包含1月1日的星期開始(缺省值)。vbFirs

37、tFourDays2從第一個(gè)其大半個(gè)星期在新的一年的一周開始。vbFirstFullWeek3從第一個(gè)無跨年度的星期開始。說明DateDiff函數(shù)可用來決定兩個(gè)日期之間所指定的時(shí)間間隔數(shù)目。例如,可以使 用DateDiff來計(jì)算兩個(gè)日期之間相隔幾日,或計(jì)算從今天起到年底還有多少個(gè) 星期。為了計(jì)算datel與date2相差的日數(shù),可以使用“一年的日數(shù)” (y)或“日” (d)。當(dāng)interval 是“一周的日數(shù)” (w)時(shí),DateDiff 返回兩日期間的周數(shù)。如果datel是星期一,DateDiff 計(jì)算到date2為止的星期一的個(gè)數(shù)。這個(gè)數(shù)包含date2但不包含datel。不過,如果inte

38、rval 是“周”(ww),則DateDiff 函數(shù)返回兩日期間的“日歷周”數(shù)。由計(jì)算datel與date2之間星期日的個(gè)數(shù) 而得。如果date2剛好是星期日,則date2也會(huì)被加進(jìn) DateDiff 的計(jì)數(shù)結(jié)果 中;但不論datel是否為星期日,都不將它算進(jìn)去。函數(shù)的返回值為負(fù)數(shù)。如果datel比date2來得晚,則 DateDifffirstdayofweek參數(shù)會(huì)影響使用時(shí)間間隔符號(hào)"W 或“WW 計(jì)算的結(jié)果。如果datel或date2是日期文字,則指定的年份成為該日期的固定部分。但是, 如果datel或date2用雙引號(hào)("")括起來,且年份略而不提,則在

39、每次計(jì)算表達(dá)式datel或date2時(shí),當(dāng)前年份都會(huì)插入到代碼之中。這樣就可以書寫 適用于不同年份的程序代碼。在計(jì)算12月31日和來年的1月1日的年份差時(shí),DateDiff 返回1表示相 差一個(gè)年份,雖然實(shí)際上只相差一天而已。DateDiff 函數(shù)示例本示例使用DateDiff函數(shù)來顯示某個(gè)日期與今日相差幾天Dim TheDate As Date ' 聲明變量。Dim MsgTheDate = InputBox("Enter a date")Msg = "Days from today: " & DateDiff("d"

40、;, Now, TheDate)MsgBox MsgDatePart 函數(shù)返回一個(gè)包含已知日期的指定時(shí)間部分的Variant ( Integer )。語(yǔ)法DatePart( interval, date ,firstdayofweek , firstweekofyear )DatePart函數(shù)語(yǔ)法中有下列命名參數(shù):部分描述interval必要。字符串表達(dá)式,是要返回的時(shí)間間隔。date必要。要計(jì)算的 Variant (Date)值。Firstdayofweek可選。指廿個(gè)星期的第f 的 Wo如果未予指定,則以 星期日為第f。firstweekofyear可選。指廿年第一周的常數(shù)。如果未予指定,

41、則以包含 1 月1日的星期為第一周。設(shè)置interval參婁C的設(shè)定值如下:設(shè)置描述yyyy年q季m月y一年的日數(shù)d日w一周的日數(shù)ww周h時(shí)n分鐘s秒firstdayofweek參數(shù)的設(shè)定值如下:常數(shù)值描述vbUseSystem0使用NLS API設(shè)置。vbSunday1星期日(缺省值)vbMonday2星期一vbTuesday3星期二vbWednesday4星期三vbThursday5星期四vbFriday6星期五vbSaturday7星期六firstweekofyear參數(shù)的設(shè)定值如下:常數(shù)值描述vbUseSystem0使用NLS API設(shè)置。vbFirstJan11從包含1月1日的星期開

42、始(缺省值)。vbFirstFourDays2從第一個(gè)其大半個(gè)星期在新的一年的一周開始。vbFirstFullWeek3從第一個(gè)無跨年度的星期開始。說明DatePart函數(shù)可以用來計(jì)算日期并返回指定的時(shí)間問隔。例如,可以使用 DatePart計(jì)算某個(gè)日期是星期幾或目前為幾點(diǎn)鐘。firstdayofweek參數(shù)會(huì)影響使用時(shí)間間隔符號(hào)"W 或"WW 計(jì)算的結(jié)果。如果date是日期文字,則指定的年份成為該日期的固定部分。 但是,如果date 用雙引號(hào)(”") 括起來,且年份略而不提,則在每次計(jì)算 date表達(dá)式時(shí),當(dāng) 前年份都會(huì)插入到代碼之中。這樣就可以書寫適用于不同年

43、份的程序代碼。DatePart函數(shù)示例本示例先取得一個(gè)日期,然后使用DatePart函數(shù)顯示該日期是發(fā)生在該年的哪 一季。Dim TheDate As Date ' 聲明變量。Dim MsgTheDate = InputBox("Enter a date:") Msg = "Quarter: " & DatePart("q", TheDate) MsgBox MsgDateSerial函數(shù)返回包含指定的年、月、日的 Variant ( Date)語(yǔ)法DateSerial( year, month, day)DateSe

44、rial函數(shù)語(yǔ)法有下列的命名參數(shù):部分描述year必要;Integer。從100到9999間的整數(shù),或一數(shù)值表式。month必要;Integer。任何數(shù)值表式。day必要;Integer。任何數(shù)值表式。說明為了指定某個(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日的十 年(

45、1990 - 10) 零兩個(gè)月(8 - 2) 又一天(1 - 1) 之前 的日期;換句話說,就是1980年5月31日。DateSerial(1990 - 10, 8 - 2, 1 - 1)2000 -2029年,若介于year參數(shù),則請(qǐng)用四位year參數(shù)的數(shù)值若介于0與29之間,則將其解釋為 30和99之間則解釋為1930 - 1999年。而對(duì)所有其它 數(shù)值表示(如1800當(dāng)任何一個(gè)參數(shù)的取值超出可接受的范圍時(shí),它會(huì)適時(shí)進(jìn)位到下一個(gè)較大的時(shí)問單位。例如,如果指定了 35天,則這個(gè)天數(shù)被解釋成一個(gè)月加上多出來的日數(shù),多出來的日數(shù)將由其年份與月份來決定。如果一個(gè)參數(shù)值超出-32 , 768到32,

46、 7DateSerial 函數(shù)示例本示例使用DateSerial函數(shù)來將指定的年月日轉(zhuǎn)換為 Date類型的表達(dá)式Dim MyDate'MyDate 的值為 February 12 , 1969, Date 類型。MyDate = DateSerial(1969, 2, 12)' 返回日期。67的范圍,就會(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á)式、其所 代表的日期

47、、時(shí)間在上述范圍內(nèi)。說明如果date是一個(gè)字符串,且其內(nèi)容只有數(shù)字以及分隔數(shù)字的日期分隔符,則DateValue就會(huì)根據(jù)系統(tǒng)中指定的短日期格式來識(shí)別月、日、年的順序。DateValue也識(shí)別明確的英文月份名稱,全名或縮寫均可。例如,除了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包 含無效時(shí)間信息(如89:98 ),則會(huì)導(dǎo)致

48、錯(cuò)誤發(fā)生。DateValue函數(shù)示例本示例使用DateValue函數(shù)將字符串轉(zhuǎn)換為日期。也可以使用日期原義直接 給Variant 或Date類型的變量賦值日期,例如 MyDate = #2/12/69#。Dim MyDateMyDate = DateValue("February 12, 1969")' 返回日期。Day函數(shù)返回一個(gè) Variant (Integer ),其值為1到31之間的整數(shù),表示一個(gè)月中的 某一日。語(yǔ)法Day(date)必要的date參數(shù),可以是任何能夠表示日期的 Variant、數(shù)值表達(dá)式、必符用 表達(dá)式或它們的組合。如果 date包含Nul

49、l ,則返回Null。Day函數(shù)示例本示例使用Day函數(shù)將指定的日期轉(zhuǎn)換為該月的第幾天。在開發(fā)環(huán)境中,日期原義會(huì)根據(jù)系統(tǒng)的地區(qū)設(shè)置,以短式日期格式顯示。Dim MyDate, MyDayMyDate = #February 12, 1969# ' 指定一日期。MyDay = Day(MyDate) ' MyDay 的值為 12。DDB函數(shù)返回一個(gè)Double,指定一筆資產(chǎn)在一特定期間內(nèi)的折舊。可使用雙下落收復(fù)平衡方法或其它指定的方法進(jìn)行計(jì)算。語(yǔ)法DDBCost , salvage , life , period , factor )DDB函數(shù)具有下列命名參數(shù):部分描述cost必

50、要。Double指定資產(chǎn)的初始成本。salvage必要。Double.指定使用年限結(jié)束時(shí)的資產(chǎn)價(jià)值。life必要。Double指定資產(chǎn)可用的可用年限。period必要。Double指定計(jì)算資產(chǎn)折舊所用的那一期間。factor可選。Variant指定收復(fù)平衡卜落時(shí)的速度。如果省略的話,2 (雙 卜落方法)為缺省值。說明雙下落收復(fù)平衡方法用加速利率法計(jì)算折舊。在第一段時(shí)期,折舊為最高,而在接下來的期間內(nèi)降低。life 和period參數(shù)必須用相同的單位表示。例如,如果 life用月份表示,則period也必須用月份表示。所有參數(shù)都必須是正值。DDB函數(shù)使用下列公式計(jì)算在一定時(shí)期后的折舊:折舊/ p

51、eriod = ( cost alvage) * factor ) / lifeDDB函數(shù)示例本示例使用DDB函數(shù)來計(jì)算某項(xiàng)資產(chǎn)在一特定期間內(nèi)的折舊。計(jì)算時(shí)需給定資 產(chǎn)的初始成本(InitCost ),使用年限退出時(shí)所余的價(jià)值(SalvageVal),以“年” 為單位之可用的生命長(zhǎng)度(LifeTime ),以及所要計(jì)算折舊的期間年限(Depr)。Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, DeprConst YRMOS = 12 ' 一年之中的月份數(shù)。Fmt = "#,#0.00"Init

52、Cost = InputBox("What's the initial cost of the asset?")SalvageVal = InputBox("Enter the asset's value at end of its life.” )MonthLife = InputBox("What's the asset's useful life in months?")Do While MonthLife < YRMOS '確保計(jì)算期間大于等于一年 。MsgBox "Asset l

53、ife must be a year or more."MonthLife = InputBox("What's the asset's useful life in months?")LoopLifeTime = MonthLife / YRMOS '將月份數(shù)轉(zhuǎn)成年份數(shù)。If LifeTime <> Int(MonthLife / YRMOS) ThenLifeTime = Int(LifeTime + 1)'四舍五入至最接近的年份。End IfDepYear = CInt(InputBox("Enter y

54、ear for depreciation calculation.")Do While DepYear < 1 Or DepYear > LifeTimeMsgBox "You must enter at least 1 but not more than " & LifeTimeDepYear = InputBox("Enter year for depreciation calculation.")LoopDepr = DDB(InitCost, SalvageVal, LifeTime, DepYear)MsgBox

55、"The depreciation for year " & DepYear & " is " & _Format(Depr, Fmt) & "."Dir函數(shù)返回一個(gè)String ,用以表示一個(gè)文件名、目錄名或文件夾名稱,它必須與指定 的模式或文件屬性、或磁盤卷標(biāo)相匹配。語(yǔ)法Dir (pathname, attributes )Dir函數(shù)的語(yǔ)法具有以下幾個(gè)部分:部分描述pathname可選參數(shù)。用來指定文件名的 字符串表達(dá)式,可能包含目錄或文 件夾、以及驅(qū)動(dòng)器。如果沒有找到 pathname,則會(huì)返回零

56、長(zhǎng)度 字符串("")。attributes可選參數(shù)。常數(shù)或數(shù)值表達(dá)式,其總和用來指定文件屬性。如果 省略,則會(huì)返回匹配 pathname但/、包含屬性的文件。設(shè)置值attributes參數(shù)的設(shè)置可為:常數(shù)值描述vbNormal0(缺省)指定沒有屬性的文件。vbReadOnly1指定無屬性的只讀文件vbHidden2指定無屬性的隱藏文件VbSystem4指定無屬性的系統(tǒng)文件vbVolume8指定卷標(biāo)文件;如果指定了其它屬性,則忽略 vbVolumevbDirectory16指定無屬性文件及其路徑和文件夾。注意 這些常數(shù)是由VBA所指定的,在程序代碼中的任何位置,可以使用這些常

57、 數(shù)來替換真正的數(shù)值。說明Dir支持多字符(*)和單字符(?)的通配符來指定多重文件。由于Macintosh不支持通配符,使用文件類型指定文件組??梢允褂肕acID函 數(shù)指定文件類型而不用文件名。比如,下列語(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)用 D

58、ir函數(shù)時(shí),必須指定pathname,否則會(huì)產(chǎn)生錯(cuò)誤。如果也指定 了文件屬性,那么就必須包括pathname。Dir會(huì)返回匹配pathname的第一個(gè)文件名。若想得到其它匹配 pathname的文 件名,再一次調(diào)用Dir,且不要使用參數(shù)。如果已沒有合乎條件的文件,則 Dir 會(huì)返回一個(gè)零長(zhǎng)度字符串("")。一旦返回值為零長(zhǎng)度字符串,并要再次調(diào)用Dir 時(shí),就必須指定pathname,否則會(huì)產(chǎn)生錯(cuò)誤。不必訪問到所有匹配當(dāng)前 pathname 的文件名,就可以改變到一個(gè)新的pathname上。但是,不能以遞歸方式來調(diào)用 Dir函數(shù)。以vbDirectory 屬性來調(diào)用Dir不能連續(xù)地返回子目錄。提示 由于文件名并不會(huì)以特別的次序來返回,所以可以將文件名存儲(chǔ)在一個(gè)數(shù)組中,然后再對(duì)這個(gè)數(shù)組排序。Dir函數(shù)示例本示例使用 Dir函數(shù)來檢查

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論