1、不敏感、WSCRIPT.ECHOWScript.echowscript.echo虽然对大小写不敏感,但是不应该使用全大写或全小写,这样使得脚本难于阅读•跳过所有多余的空格Forexample、WScript.Echo"Hello"isthesameas、WScript.Echo"Hello"•不规定每行的大长度换言之,你可以将多个逻辑行用colondivider连接在一起WScript.Echo"TestOne"、WScript.Echo"TestTwo"•Vbscrip允许你分割一个长句,可以用一个空格和一个下划线来隔断,这样使得阅读更加容易一点。
2、WScript.Echo"Messageto"_&vUserName_&"Pleasemakesurethatyouremember"_&"tologofforlockyourworkstation"_&"ifyouleaveitunattended,Thanks"•名称不能超过255个字符,包括项目定义,变量,constants和procedures二。
3、变量,常量和数据类型(1)变量变量•可变化值的容器nMyAge=nMyAge+10WScript.EchonMyAge•StringDatastrServer="MyServer"•Dateandtime•时间和日期变量的值要用”#”扩起来•名称限制•以字母开头•不能有间隔•便不能超过255个字符•在当前的域中必须•申明变量•默认情况下,脚本为第一次读到的变量创建一个值,但这样就会导致出现问题后难于跟踪、nMyAge=35nMyAge=nMiAge+10(这里的nMyAge被打成了nMiAge,后的值变成了10)WScript.EchonMyAgeOptionExplicit这样所有的变量使用前需要先申明你可以使用下面的语句来声明变量、DimPrivatePublicStatic你可以用dim来声明变量,使得系统为变量保存一定的内存DimnMyAgeDimnMyAge,nMyName,nMyAddress(2)常量就像声明变量,你可以在脚本中声明和使用constants•在脚本执行的过程中不改变值•使得脚本更加容易阅读和debug•在脚本的开始的地方assigned•Const语句Constant可以表示一个字符串,一个数字或算法、比较和逻辑操作符ConstCOMP_NAME="Microsoft“注意,如果你尝试在脚本中改变常量的值得话,会导致下列错误、MicrosoftVBScriptcompilationerror、NameredefinedTypeLibraryconstants许多类libraries描述的对象模型包含constantvalues,它能够合法的作为方法参数传递。
4、比如,在ADSIobjectmodel,很多常量被暴露,用于帮助创建新的objects,比如活动目录中的用户和组。
5、当一个新的组创建,ADSI采用一个creationflag确定组的类型,如果flag的值是ADSI知道创建的是Globalgroup,其他的常量值和其他的组类型相称。
6、为了使得阅读容易,这个ADSItypelibrary使用有意义的名字来expose(暴露)这些常量值,比如、ADS_GROUP_TYPE_GLOBAL_GROUP如果要在一个标准的vbscript脚本中使用,常量的值必须在脚本的开头明确说明CONSTADS_GROUP_TYPE_GLOBAL_GROUP=&H2&H2代表16进制的2Intrinsicconstants有一些有用的constants被内置在VBSedition中,,这些constants,提供了一种方便的途径来使用特定的值,而不必记住特定的值。
7、因为那些constants已经被定义在vbscript,不需要明确的声明他们,你可以简单使用他们代表的值vbCrLfsMessage="WelcometotheworldofVBScript"&vbcrlf&_"andalltheusefulcommandsthatitprovides"&_vbcrlf&"PleasepresstheOKbuttontocontinue"MsgBoxsMessage(3)数据类型数据类型、Variants一个variant可以包括数字,日期和时间,对象,布尔值或字符串,在很多情况下,VBScript会自动检测数据类型。
8、vDemoA="My"vDemoB="Server"vAnswer=vDemoA+vDemoBWScript.EchovAnswerVDemoA=5vDemoB=10vAnswer=vDemoA+vDemoBWScript.EchovAnswerVariantSubtypes可以将variant数据类型分为子类型Empty变量没有初始化Null变量没有初始化Byte、0-255Integer、-32768-32767Long、–2,147,483,648and2,147,483,6转换函数、有些时候,你需要将一种数据类型转换成另一种数据类型。
9、(比如你要提取某个数据的第几位数据,你需要用ctsr将其转换成字符,然后用len,left,right等函数提取数据,然后将Cint将其转换成数字)。
10、CIntReturnsaVariantofsubtypeIntegerCBoolReturnsaVariantofsubtypeBooleanCByteReturnsaVariantofsubtypeByteCCurReturnsaVariantofsubtypeCurrencyCDateReturnsaVariantofsubtypeDateCDblReturnsaVariantofsubtypeDoubleCLngReturnsaVariantofsubtypeLongCSngReturnsaVariantofsubtypeSingleCStrReturnsaVariantofsubtypeString(4)命名约定•并不需要,但好有良好的命名习惯•一些命名的约定的建议规则•采用前缀、strStringFnFunctionC(orcapitalizeeachletterintheconstantname)Constant(常量)BBoolean(TrueorFalse)dDateobjAnobjectreferencenAnumericvalue函数,方法名在每一个多名字开头的地方用大写字母。
11、比如、WScript.EchoobjMyServer.NameSubCheckDateSub()早期的vbscript没有const命令,所以常量就被定义为变量,并且命名的时候全部采用大写字母、COMPANY_NAMEDEFAULT_PATH命名一致性、你可以不采用匈牙利命名规范,可以自己定义命名规定,但必须贯彻在所有的脚本中,这将帮助排错和阅读。
12、(5)数组一个变量可以有多个值下面的定义的数组可以包含三个离散的值、DimMyArray(2)给数组赋予值MyArray(0)=100输出数组的值、WScript.EchoMyArray(1)多维数组、DimMyTable(4,9)5行10列的一个表格注意,在vbscrip中你顶多定义60个维度。
13、但注意,出于容易理解和阅读,不应该超过4到5个维度。
14、数组可以包含不同的数据类型,这经常用在存储相关联的同样对象上。
15、(比如第一个值可以上用户姓名,其他的列为电话等等)。
16、(6)动态数组不知道边界或维度的时候,需要动态数组申明一个数组,但是省略掉边界DimMyArray()初始化这个数组的尺寸、ReDimMyArray(4)重要的是、redim语句删除在数组中的值。
17、采用Preserver关键词,则数组中原来的值保持不变。
18、(注意,如果你resizing从大到小,你就不可避免的要丢失一些数据,不管你用不用preserver关键词)动态数组也可以使用array语句来实现、DimMyArrayMyArray=Array(100,200,300,400,500)删除数组、EraseMyArray这将删除数组的内容,但数组本身还在,当使用这个命令的时候,数据被删除,动态数组被“非初始化”,如果要使用这个数组,需要redim语句进行重定义。
19、Ubound函数在采用动态数组的时候,你经常不知道数组包含了多少元素,可以采用UBound函数来解决这个问题、UBound(arrayname(,dimension))Dimension是维数,如果只有一维,则可以省略。
20、三。
21、操作符(1)操作符操作符、主要的操作符、算法、^求幂-负数整数除,返回整数值连操作符、将多个字符串连接成一个字符串WScript.Echo"Thepathis,"&strPath&"onServerB"或nAge=InputBox("PleaseenteryourAge.")nTogo=65-nAgeMsgBox"Youhave"&nTogo&"yearsuntilyouretire。
22、"比较符、返回的是真或假IS等价result=value1operatorvalue2逻辑操作符、bNegResult=NotbResultIfthevalueofbResultisTrue,thevalueofbNegResultissettoFalse.EQV等值IMP牵连操作优先级(多用括号)^–*,/,andMOD+,-&=,,,=,andISNOTANDORXOREQVIMP四。
23、条件和循环(1)条件语句条件语句IfthenIfMyVar=5ThenWScript.Echo"MyVar=5"ElseIfMyVar=5ThenWScript.Echo"MyVar=5"ElseWScript.Echo"MyVardoesnotequal5"EndIfElseifIfMyVar=0ThenWScript.Echo"MyVar=0"ElseIfMyVar=1ThenWScript.Echo"MyVar=1"ElseIfMyVar=2thenWScript.Echo"MyVar=2"ElseWScript.Echo"Sorryvalueisoutofrange"EndIfEndif用在执行多个语句的情况下、IfMyVar=5ThenWScript.Echo"MyVar=5"WScript.Echo"ResetingMyVar"MyVar=0EndIf(2)selectcase语句条件语句、selectcaseSelectCaseMyVarCase"0"WScript.Echo"MyVar=0"Case"1"WScript.Echo"MyVar=1"Case"2"WScript.Echo"MyVar=2"CaseElseWScript.Echo"Sorryvalueisoutofrange"EndSelect(3)for-nextForiCounter=1To10WScript.Echo"Thisisloopnumber"&iCounterNextForiCounter=1to10Step2WScript.Echo"Oddnumber"&iCounterNextForiCounter=10to2Step-2action(s)NextExitforvInput=InputBox("EntertheValuetostoptheloopat")iStop=CInt(vInput)ForiCounter=1to10WScript.Echo"CurrentiCounterValue="&iCounterIfiStop=iCounterThenExitForWScript.Echo"Aroundwegoagain"NextWScript.Echo"Loopexitedatvalueof"&iCounterForeach…next用于不知道数组中有多少元素的情况ForEachFileinobjFilesWScript.echoFile.NameNext(4)do-loop/while-wend当不知道要循环几次时,通常采用这种方法DoWhile…LoopDoWhilevMyVar=100vMyVar=vMyVar+1WScript.Echo"vMyVar="&vMyVarLoopDo…LoopWhile(将检查点放置在循环语句的后面)DovMyVar=vMyVar+1WScript.Echo"vMyVar="&vMyVarLoopWhilevMyVar=100ExitDo就像Exitfor一样,在中途退出,可以用ExitdovInput=InputBox("EntertheValuetostoptheloopat")iStop=CInt(vInput)DoWhileiCounter<10iCounter=iCounter+1WScript.Echo"CurrentiCounterValue="&iCounterIfiStop=iCounterThenExitDoWScript.Echo"Aroundwegoagain"LoopWScript.Echo"Loopexitedatvalueof"&iCounterWhile…Wend是早期的vbscript的语法之现在也兼容WhilevMyVar<100vMyVar=vMyVar+1WScript.Echo"vMyVar="&vMyVarWend通常情况下,用do…loop比while…wend好,因为有更好的兼容性和结构性。
24、五。
25、内置函数内置函数日期和时间函数NowWScript.EchoNowThisfunctionreturnsavaluelike26/06/200041其格式由你设置的国家设置决定TimeWScript.echoTimeThisfunctionreturnsavaluesuchas27DataWScript.Echo"Today’sDateis、"&DateThisfunctionreturnsavaluesuchas26/06/2000DateDiff返回两个日前之间的天数vDate=DateDiff("d",Date,"01/01/3000")WScript.Echo"DaysuntilthenextMillennium、"&vDate“yyyy”两年之间的年数“m”两个日前间的月数“h”两个日期间的小时数字符操作函数LCase(小写)UCase(大写)vName=InputBox("Pleaseenteryourhomecountry?")vName=LCase(vName)SelectCasevNameCase"uk"WScript.Echo"WelcometotheUK。
26、"Case"usa"WScript.Echo"WelcometotheStates。
27、"Case"germany"WScript.Echo"WelcometoGermany。
28、"Case"france"WScript.Echo"WelcometoFrance。
29、"CaseElseWScript.Echo"Sorry,tryagain。
30、"EndSelect数学函数Rnd返回0-1之间的7位小数要初始化随机数,用randomize语句RandomizeWScript.EchoRndRandomizeWScript.EchoRnd*100这样产生0-100之间的数值Round将数据转化成近的整数RandomizevRnd=Rnd*100WScript.EchoRound(vRnd六。
31、过程(1)子程序和函数Sub和函数过程在visualbasicscriptingedition中,有两种procedures、子程序和函数Subprocedure优点,代码重用DimsStausMessageCallWelcomesStausMessage="Starting..."CallStatussStausMessage="Ending..."CallStatusCallFarewellSubWelcome()WScript.Echo"Hello"EndSubSubStatus()WScript.EchosStausMessageEndSubSubFarewell()WScript.Echo"Goodbye"EndSub注意,call语句是可选的Functionprocedures和sub很相似,function通常返回一个值DimdDatedDate=TomorrowWScript.EchodDateFunctionTomorrow()Tomorrow=DateAdd("d",1,Date())EndFunctionExitingaprocedure如果通过ifthen语句结构,决定要离开procedure,可以通过exit语句来退出。
32、当到达endsub语句的时候,就回到调用的时间点。
33、传递参数在子程序的括号中,以逗号分隔。
34、FunctionGrossValue(NetValue,TaxRate)GrossValue=NetValue+(NetValue*TaxRate)EndFunctionWScript.Echo"GrossValueis、"&GrossValue(100,0.175)Byref、如果你在子程序中改变了参数的值,初始的值也随之改变FunctionGrossValue(ByRefNetValue,ByRefTaxRate)GrossValue=NetValue+(NetValue*TaxRate)EndFunctionByval、不改变初始的值FunctionGrossValue(ByValNetValue,ByValTaxRate)GrossValue=NetValue+(NetValue*TaxRate)EndFunction举例、DimiNumber,iResultiNumber=30iResult=Doubler(iNumber)WScript.Echo"Twotimes"&iNumber&"is"&iResultFunctionDoubler(ByRefInputNum)InputNum=2*InputNumDoubler=InputNumEndFunction结果、“Twotimes60is60,”DimiNumber,iResultiNumber=30iResult=Doubler(iNumber)WScript.Echo"Twotimes"&iNumber&"is"&iResultFunctionDoubler(ByValInputNum)InputNum=2*InputNumDoubler=InputNumEndFunction“Twotimes30is60,”(2)范围和生命周期作用域和生存时间Script-level变量如果一个变量被在mainbody中被申明,变量可以在mainbody或任何procedures中,被称为script-level变量,有secrip-level作用域可以用dim关键词或private关键词,这两个关键词是同义的关键词。
35、用来定义script-level变量Public关键词可以定义跨脚本的变量,你只能在一个脚本使用另一个脚本的时候使用,比如.wsf文件。
36、Script-level变量在整个脚本中必须。
37、Procedure-level变量当一个变量在procedure中被申明,只有在procedure中可以访问或改变变量的值。
38、被称为procedure-level变量。
39、Procedure-level变量只存在于procedure运行的时候,当procedure结束,这个变量将被删除。
40、可以有不同的procedure中有相同的变量名称在procedure-level变量中,只能使用dim来申明变量,不能使用public或private.。
二、使用内置函数的优点和限制分别是什么?1、不敏感、WSCRIPT.ECHOWScript.echowscript.echo虽然对大小写不敏感,但是不应该使用全大写或全小写,这样使得脚本难于阅读•跳过所有多余的空格Forexample、WScript.Echo"Hello"isthesameas、WScript.Echo"Hello"•不规定每行的大长度换言之,你可以将多个逻辑行用colondivider连接在一起WScript.Echo"TestOne"、WScript.Echo"TestTwo"•Vbscrip允许你分割一个长句,可以用一个空格和一个下划线来隔断,这样使得阅读更加容易一点。
2、WScript.Echo"Messageto"_&vUserName_&"Pleasemakesurethatyouremember"_&"tologofforlockyourworkstation"_&"ifyouleaveitunattended,Thanks"•名称不能超过255个字符,包括项目定义,变量,constants和procedures二。
3、变量,常量和数据类型(1)变量变量•可变化值的容器nMyAge=nMyAge+10WScript.EchonMyAge•StringDatastrServer="MyServer"•Dateandtime•时间和日期变量的值要用”#”扩起来•名称限制•以字母开头•不能有间隔•便不能超过255个字符•在当前的域中必须•申明变量•默认情况下,脚本为第一次读到的变量创建一个值,但这样就会导致出现问题后难于跟踪、nMyAge=35nMyAge=nMiAge+10(这里的nMyAge被打成了nMiAge,后的值变成了10)WScript.EchonMyAgeOptionExplicit这样所有的变量使用前需要先申明你可以使用下面的语句来声明变量、DimPrivatePublicStatic你可以用dim来声明变量,使得系统为变量保存一定的内存DimnMyAgeDimnMyAge,nMyName,nMyAddress(2)常量就像声明变量,你可以在脚本中声明和使用constants•在脚本执行的过程中不改变值•使得脚本更加容易阅读和debug•在脚本的开始的地方assigned•Const语句Constant可以表示一个字符串,一个数字或算法、比较和逻辑操作符ConstCOMP_NAME="Microsoft“注意,如果你尝试在脚本中改变常量的值得话,会导致下列错误、MicrosoftVBScriptcompilationerror、NameredefinedTypeLibraryconstants许多类libraries描述的对象模型包含constantvalues,它能够合法的作为方法参数传递。
4、比如,在ADSIobjectmodel,很多常量被暴露,用于帮助创建新的objects,比如活动目录中的用户和组。
5、当一个新的组创建,ADSI采用一个creationflag确定组的类型,如果flag的值是ADSI知道创建的是Globalgroup,其他的常量值和其他的组类型相称。
6、为了使得阅读容易,这个ADSItypelibrary使用有意义的名字来expose(暴露)这些常量值,比如、ADS_GROUP_TYPE_GLOBAL_GROUP如果要在一个标准的vbscript脚本中使用,常量的值必须在脚本的开头明确说明CONSTADS_GROUP_TYPE_GLOBAL_GROUP=&H2&H2代表16进制的2Intrinsicconstants有一些有用的constants被内置在VBSedition中,,这些constants,提供了一种方便的途径来使用特定的值,而不必记住特定的值。
7、因为那些constants已经被定义在vbscript,不需要明确的声明他们,你可以简单使用他们代表的值vbCrLfsMessage="WelcometotheworldofVBScript"&vbcrlf&_"andalltheusefulcommandsthatitprovides"&_vbcrlf&"PleasepresstheOKbuttontocontinue"MsgBoxsMessage(3)数据类型数据类型、Variants一个variant可以包括数字,日期和时间,对象,布尔值或字符串,在很多情况下,VBScript会自动检测数据类型。
8、vDemoA="My"vDemoB="Server"vAnswer=vDemoA+vDemoBWScript.EchovAnswerVDemoA=5vDemoB=10vAnswer=vDemoA+vDemoBWScript.EchovAnswerVariantSubtypes可以将variant数据类型分为子类型Empty变量没有初始化Null变量没有初始化Byte、0-255Integer、-32768-32767Long、–2,147,483,648and2,147,483,6转换函数、有些时候,你需要将一种数据类型转换成另一种数据类型。
9、(比如你要提取某个数据的第几位数据,你需要用ctsr将其转换成字符,然后用len,left,right等函数提取数据,然后将Cint将其转换成数字)。
10、CIntReturnsaVariantofsubtypeIntegerCBoolReturnsaVariantofsubtypeBooleanCByteReturnsaVariantofsubtypeByteCCurReturnsaVariantofsubtypeCurrencyCDateReturnsaVariantofsubtypeDateCDblReturnsaVariantofsubtypeDoubleCLngReturnsaVariantofsubtypeLongCSngReturnsaVariantofsubtypeSingleCStrReturnsaVariantofsubtypeString(4)命名约定•并不需要,但好有良好的命名习惯•一些命名的约定的建议规则•采用前缀、strStringFnFunctionC(orcapitalizeeachletterintheconstantname)Constant(常量)BBoolean(TrueorFalse)dDateobjAnobjectreferencenAnumericvalue函数,方法名在每一个多名字开头的地方用大写字母。
11、比如、WScript.EchoobjMyServer.NameSubCheckDateSub()早期的vbscript没有const命令,所以常量就被定义为变量,并且命名的时候全部采用大写字母、COMPANY_NAMEDEFAULT_PATH命名一致性、你可以不采用匈牙利命名规范,可以自己定义命名规定,但必须贯彻在所有的脚本中,这将帮助排错和阅读。
12、(5)数组一个变量可以有多个值下面的定义的数组可以包含三个离散的值、DimMyArray(2)给数组赋予值MyArray(0)=100输出数组的值、WScript.EchoMyArray(1)多维数组、DimMyTable(4,9)5行10列的一个表格注意,在vbscrip中你顶多定义60个维度。
13、但注意,出于容易理解和阅读,不应该超过4到5个维度。
14、数组可以包含不同的数据类型,这经常用在存储相关联的同样对象上。
15、(比如第一个值可以上用户姓名,其他的列为电话等等)。
16、(6)动态数组不知道边界或维度的时候,需要动态数组申明一个数组,但是省略掉边界DimMyArray()初始化这个数组的尺寸、ReDimMyArray(4)重要的是、redim语句删除在数组中的值。
17、采用Preserver关键词,则数组中原来的值保持不变。
18、(注意,如果你resizing从大到小,你就不可避免的要丢失一些数据,不管你用不用preserver关键词)动态数组也可以使用array语句来实现、DimMyArrayMyArray=Array(100,200,300,400,500)删除数组、EraseMyArray这将删除数组的内容,但数组本身还在,当使用这个命令的时候,数据被删除,动态数组被“非初始化”,如果要使用这个数组,需要redim语句进行重定义。
19、Ubound函数在采用动态数组的时候,你经常不知道数组包含了多少元素,可以采用UBound函数来解决这个问题、UBound(arrayname(,dimension))Dimension是维数,如果只有一维,则可以省略。
20、三。
21、操作符(1)操作符操作符、主要的操作符、算法、^求幂-负数整数除,返回整数值连操作符、将多个字符串连接成一个字符串WScript.Echo"Thepathis,"&strPath&"onServerB"或nAge=InputBox("PleaseenteryourAge.")nTogo=65-nAgeMsgBox"Youhave"&nTogo&"yearsuntilyouretire。
22、"比较符、返回的是真或假IS等价result=value1operatorvalue2逻辑操作符、bNegResult=NotbResultIfthevalueofbResultisTrue,thevalueofbNegResultissettoFalse.EQV等值IMP牵连操作优先级(多用括号)^–*,/,andMOD+,-&=,,,=,andISNOTANDORXOREQVIMP四。
23、条件和循环(1)条件语句条件语句IfthenIfMyVar=5ThenWScript.Echo"MyVar=5"ElseIfMyVar=5ThenWScript.Echo"MyVar=5"ElseWScript.Echo"MyVardoesnotequal5"EndIfElseifIfMyVar=0ThenWScript.Echo"MyVar=0"ElseIfMyVar=1ThenWScript.Echo"MyVar=1"ElseIfMyVar=2thenWScript.Echo"MyVar=2"ElseWScript.Echo"Sorryvalueisoutofrange"EndIfEndif用在执行多个语句的情况下、IfMyVar=5ThenWScript.Echo"MyVar=5"WScript.Echo"ResetingMyVar"MyVar=0EndIf(2)selectcase语句条件语句、selectcaseSelectCaseMyVarCase"0"WScript.Echo"MyVar=0"Case"1"WScript.Echo"MyVar=1"Case"2"WScript.Echo"MyVar=2"CaseElseWScript.Echo"Sorryvalueisoutofrange"EndSelect(3)for-nextForiCounter=1To10WScript.Echo"Thisisloopnumber"&iCounterNextForiCounter=1to10Step2WScript.Echo"Oddnumber"&iCounterNextForiCounter=10to2Step-2action(s)NextExitforvInput=InputBox("EntertheValuetostoptheloopat")iStop=CInt(vInput)ForiCounter=1to10WScript.Echo"CurrentiCounterValue="&iCounterIfiStop=iCounterThenExitForWScript.Echo"Aroundwegoagain"NextWScript.Echo"Loopexitedatvalueof"&iCounterForeach…next用于不知道数组中有多少元素的情况ForEachFileinobjFilesWScript.echoFile.NameNext(4)do-loop/while-wend当不知道要循环几次时,通常采用这种方法DoWhile…LoopDoWhilevMyVar=100vMyVar=vMyVar+1WScript.Echo"vMyVar="&vMyVarLoopDo…LoopWhile(将检查点放置在循环语句的后面)DovMyVar=vMyVar+1WScript.Echo"vMyVar="&vMyVarLoopWhilevMyVar=100ExitDo就像Exitfor一样,在中途退出,可以用ExitdovInput=InputBox("EntertheValuetostoptheloopat")iStop=CInt(vInput)DoWhileiCounter<10iCounter=iCounter+1WScript.Echo"CurrentiCounterValue="&iCounterIfiStop=iCounterThenExitDoWScript.Echo"Aroundwegoagain"LoopWScript.Echo"Loopexitedatvalueof"&iCounterWhile…Wend是早期的vbscript的语法之现在也兼容WhilevMyVar<100vMyVar=vMyVar+1WScript.Echo"vMyVar="&vMyVarWend通常情况下,用do…loop比while…wend好,因为有更好的兼容性和结构性。
24、五。
25、内置函数内置函数日期和时间函数NowWScript.EchoNowThisfunctionreturnsavaluelike26/06/200041其格式由你设置的国家设置决定TimeWScript.echoTimeThisfunctionreturnsavaluesuchas27DataWScript.Echo"Today’sDateis、"&DateThisfunctionreturnsavaluesuchas26/06/2000DateDiff返回两个日前之间的天数vDate=DateDiff("d",Date,"01/01/3000")WScript.Echo"DaysuntilthenextMillennium、"&vDate“yyyy”两年之间的年数“m”两个日前间的月数“h”两个日期间的小时数字符操作函数LCase(小写)UCase(大写)vName=InputBox("Pleaseenteryourhomecountry?")vName=LCase(vName)SelectCasevNameCase"uk"WScript.Echo"WelcometotheUK。
26、"Case"usa"WScript.Echo"WelcometotheStates。
27、"Case"germany"WScript.Echo"WelcometoGermany。
28、"Case"france"WScript.Echo"WelcometoFrance。
29、"CaseElseWScript.Echo"Sorry,tryagain。
30、"EndSelect数学函数Rnd返回0-1之间的7位小数要初始化随机数,用randomize语句RandomizeWScript.EchoRndRandomizeWScript.EchoRnd*100这样产生0-100之间的数值Round将数据转化成近的整数RandomizevRnd=Rnd*100WScript.EchoRound(vRnd六。
31、过程(1)子程序和函数Sub和函数过程在visualbasicscriptingedition中,有两种procedures、子程序和函数Subprocedure优点,代码重用DimsStausMessageCallWelcomesStausMessage="Starting..."CallStatussStausMessage="Ending..."CallStatusCallFarewellSubWelcome()WScript.Echo"Hello"EndSubSubStatus()WScript.EchosStausMessageEndSubSubFarewell()WScript.Echo"Goodbye"EndSub注意,call语句是可选的Functionprocedures和sub很相似,function通常返回一个值DimdDatedDate=TomorrowWScript.EchodDateFunctionTomorrow()Tomorrow=DateAdd("d",1,Date())EndFunctionExitingaprocedure如果通过ifthen语句结构,决定要离开procedure,可以通过exit语句来退出。
32、当到达endsub语句的时候,就回到调用的时间点。
33、传递参数在子程序的括号中,以逗号分隔。
34、FunctionGrossValue(NetValue,TaxRate)GrossValue=NetValue+(NetValue*TaxRate)EndFunctionWScript.Echo"GrossValueis、"&GrossValue(100,0.175)Byref、如果你在子程序中改变了参数的值,初始的值也随之改变FunctionGrossValue(ByRefNetValue,ByRefTaxRate)GrossValue=NetValue+(NetValue*TaxRate)EndFunctionByval、不改变初始的值FunctionGrossValue(ByValNetValue,ByValTaxRate)GrossValue=NetValue+(NetValue*TaxRate)EndFunction举例、DimiNumber,iResultiNumber=30iResult=Doubler(iNumber)WScript.Echo"Twotimes"&iNumber&"is"&iResultFunctionDoubler(ByRefInputNum)InputNum=2*InputNumDoubler=InputNumEndFunction结果、“Twotimes60is60,”DimiNumber,iResultiNumber=30iResult=Doubler(iNumber)WScript.Echo"Twotimes"&iNumber&"is"&iResultFunctionDoubler(ByValInputNum)InputNum=2*InputNumDoubler=InputNumEndFunction“Twotimes30is60,”(2)范围和生命周期作用域和生存时间Script-level变量如果一个变量被在mainbody中被申明,变量可以在mainbody或任何procedures中,被称为script-level变量,有secrip-level作用域可以用dim关键词或private关键词,这两个关键词是同义的关键词。
35、用来定义script-level变量Public关键词可以定义跨脚本的变量,你只能在一个脚本使用另一个脚本的时候使用,比如.wsf文件。
36、Script-level变量在整个脚本中必须。
37、Procedure-level变量当一个变量在procedure中被申明,只有在procedure中可以访问或改变变量的值。
38、被称为procedure-level变量。
39、Procedure-level变量只存在于procedure运行的时候,当procedure结束,这个变量将被删除。
40、可以有不同的procedure中有相同的变量名称在procedure-level变量中,只能使用dim来申明变量,不能使用public或private.。
三、excel datedif函数问题 引入第二个参数就报错,手动输入也不行,请各位大师指出问题?1、不敏感、WSCRIPT.ECHOWScript.echowscript.echo虽然对大小写不敏感,但是不应该使用全大写或全小写,这样使得脚本难于阅读•跳过所有多余的空格Forexample、WScript.Echo"Hello"isthesameas、WScript.Echo"Hello"•不规定每行的大长度换言之,你可以将多个逻辑行用colondivider连接在一起WScript.Echo"TestOne"、WScript.Echo"TestTwo"•Vbscrip允许你分割一个长句,可以用一个空格和一个下划线来隔断,这样使得阅读更加容易一点。
四、如何利用datedif函数计算年龄1、首先启动茄王excel200执行文件-打开命令轿总涛,打开一份表格数据。。
2、选择单元格b首先输入公式=datedif(),接着在设计参数。。
3、接着设计参数,输入第一个参数为a即a2里的数值作为减数。。
4、输入第二个参数today,函数today作为被减数,即从今天算起。。
5、输入第三参数为“y”,即以年为单位特掩求其差值,得到的数值就是年。。
6、按回车键进行确定后,就自动计算出年龄,然后填充即可。。
五、哪位大神会用这个公式=DATEDIF(S3,NOW(),"y")1、你好,这个函数可以用来计算年龄、工龄等。
2、=DATEDIF(S3,NOW(),"y")其中,S3是起始时间,now()函数,取的是现在的系统时间y表示做凯年(两个时间段之间的整数年)天d月m年yDATEDIF函数的使用方法、DATEDIF(start_date,end_date,unit)start_date表示的是起始时间。
3、end_date表示的是结束时间余绝。
4、unit表示的竖胡姿是返回的时间代码,是天、月、年等。
六、DATEDIF函数怎么使用1、函数名称:DATEDIF。
2、主要功能:计算返回两个日期参数的差值。。
3、使用格式:=DATEDIF(date1,date2,"y")、=DATEDIF(date1,date2,"m")、=DATEDIF(date1,date2,"d") 。
4、参数说明:date1代表前面一个日期,date2代表后面一个日期;y(m、d)要求返回两个日期相差的年(月、天)数。。
5、应用举例:在C2单元格中输入公式:=DATEDIF(A2,TODAY(),"d"),确认后返回系统当前日期{用TODAY()表示}与A23单元格中日期的差值,并返回相差的天数。。
6、结果是450。
7、 特别提醒:这是Excel中的一个隐藏函数,在函数向导中是找不到的,可以直接输入使用,对于计算年龄、工龄等有效。。
七、DATEDIF函数的使用方法是什么?1、公式是”=DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),TODAY(),"y")“,用法如下、打开录有身份证号码信息的EXCEL表格。
2、选中B2单元格,录入公式”=DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),TODAY(),"y")“,回车确认就可以计算出年龄了。
3、在B2单元格右下角按住鼠标右键向下拖动至后一行数据然后松开鼠标右键,菜单选择”复制单元格“。
4、至此所有的年龄信息计算完毕。
5、介绍DATEDIF函数是Excel隐藏函数,其在帮助和插入公式里面没有。
6、返回两个日期之间的年\月\日间隔数。
7、常使用DATEDIF函数计算两日期之差。
8、包含D,M,Y,YD,YM,MD。
9、DATEDIF(start_date,end_date,unit)Start_date为一个日期,它代表时间段内的第一个日期或起始日期。
10、(起始日期必须在1900年之后)End_date为一个日期,它代表时间段内的后一个日期或结束日期。
11、Unit为所需信息的返回类型。
12、Unit返回注、结束日期必须晚于起始日期。
八、java中计算两个日期之间差的天数1、打开EXCEL空白文档.。