974
Microsoft® Visual Basic® Scripting Edition Feature Information VBScript Language Reference Version Information VBScript Features VBA Features not in VBScript VBScript Features not in VBA Microsoft Scripting Run-Time Features

Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

  • Upload
    others

  • View
    22

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FeatureInformation

VBScriptLanguageReferenceVersionInformation

VBScriptFeaturesVBAFeaturesnotinVBScriptVBScriptFeaturesnotinVBAMicrosoftScriptingRun-TimeFeatures

Page 2: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AlphabeticKeywordList

VBScriptLanguageReferenceVersionInformation

AbsFunctionAdditionOperator(+)AndOperatorArrayFunctionAscFunctionAssignmentOperator(=)AtnFunctionCallStatementCBoolFunctionCByteFunctionCCurFunctionCDateFunctionCDblFunctionChrFunctionCIntFunctionClassObjectClassStatementClearMethodCLngFunctionColorConstantsComparisonConstantsConcatenationOperator(&)ConstStatementCosFunctionCreateObjectFunctionCSngFunctionCStrFunctionDateandTimeConstantsDateFormatConstants

Page 3: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DateFunctionDateAddFunctionDateDiffFunctionDatePartFunctionDateSerialFunctionDateValueFunctionDayFunctionDescriptionPropertyDictionaryObjectDimStatementDivisionOperator(/)Do...LoopStatementEmptyEqvOperatorEraseStatementErrObjectEvalFunctionExecuteMethodExecuteStatementExitStatementExpFunctionExponentiationOperator(^)FalseFileSystemObjectObjectFilterFunctionFirstIndexPropertyFixFunctionFor...NextStatementForEach...NextStatementFormatCurrencyFunctionFormatDateTimeFunctionFormatNumberFunctionFormatPercentFunctionFunctionStatementGetObjectFunctionGetRefFunctionGlobalProperty

Page 4: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

HexFunctionHelpContextPropertyHelpFilePropertyHourFunctionIf...Then...ElseStatementIgnoreCasePropertyImpOperatorInitializeEventInputBoxFunctionInStrFunctionInStrRevFunctionIntFunctionIntegerDivisionOperator(\)IsOperatorIsArrayFunctionIsDateFunctionIsEmptyFunctionIsNullFunctionIsNumericFunctionIsObjectFunctionJoinFunctionLBoundFunctionLCaseFunctionLeftFunctionLenFunctionLengthPropertyLoadPictureFunctionLogFunctionLTrimFunctionMatchObjectMatchesCollectionMidFunctionMinuteFunctionMiscellaneousConstantsModOperatorMonthFunctionMonthNameFunction

Page 5: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MsgBoxConstantsMsgBoxFunctionMultiplicationOperator(*)NegationOperator(-)NotOperatorNowFunctionNothingNullNumberPropertyOctFunctionOnErrorStatementOperatorPrecedenceOptionExplicitStatementOrOperatorPatternPropertyPrivateStatementPropertyGetStatementPropertyLetStatementPropertySetStatementPublicStatementRaiseMethodRandomizeStatementReDimStatementRegExpObjectRemStatementReplaceFunctionReplaceMethodRGBFunctionRightFunctionRndFunctionRoundFunctionRTrimFunctionScriptEngineFunctionScriptEngineBuildVersionFunctionScriptEngineMajorVersionFunctionScriptEngineMinorVersionFunctionSecondFunction

Page 6: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SelectCaseStatementSetStatementSgnFunctionSinFunctionSourcePropertySpaceFunctionSplitFunctionSqrFunctionStrCompFunctionStringConstantsStringFunctionStrReverseFunctionSubStatementSubtractionOperator(-)TanFunctionTerminateEventTestMethodTimeFunctionTimerFunctionTimeSerialFunctionTimeValueFunctionTrimFunctionTristateConstantsTrueTypeNameFunctionUBoundFunctionUCaseFunctionValuePropertyVarTypeConstantsVarTypeFunctionVBScriptConstantsWeekdayFunctionWeekdayNameFunctionWhile...WendStatementWithStatementXorOperatorYearFunction

Page 7: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 8: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ConstantsVBScriptLanguageReference

VersionInformation

ColorConstantsComparisonConstantsDateandTimeConstantsDateFormatConstantsMiscellaneousConstantsMsgBoxConstantsStringConstantsTristateConstantsVarTypeConstantsVBScriptConstants

Page 9: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptErrorsVBScriptLanguageReference

VersionInformation

Run-timeErrorsSyntaxErrors

Page 10: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

EventsVBScriptLanguageReference

VersionInformation

InitializeEventTerminateEvent

Page 11: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®Scripting

EditionFunctionsVBScriptLanguageReference

VersionInformation

AbsFunctionArrayFunctionAscFunctionAtnFunctionCBoolFunctionCByteFunctionCCurFunctionCDateFunctionCDblFunctionChrFunctionCIntFunctionCLngFunctionCosFunctionCreateObjectFunctionCSngFunctionCStrFunctionDateFunctionDateAddFunctionDateDiffFunctionDatePartFunctionDateSerialFunctionDateValueFunctionDayFunctionEvalFunctionExpFunctionFilterFunctionFixFunctionFormatCurrencyFunctionFormatDateTimeFunctionFormatNumberFunctionFormatPercentFunctionGetObjectFunction

Page 12: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

GetRefFunctionHexFunctionHourFunctionInputBoxFunctionInStrFunctionInStrRevFunctionIntFunctionIsArrayFunctionIsDateFunctionIsEmptyFunctionIsNullFunctionIsNumericFunctionIsObjectFunctionJoinFunctionLBoundFunctionLCaseFunctionLeftFunctionLenFunctionLoadPictureFunctionLogFunctionLTrimFunctionMidFunctionMinuteFunctionMonthFunctionMonthNameFunctionMsgBoxFunctionNowFunctionOctFunctionReplaceFunctionRGBFunctionRightFunctionRndFunctionRoundFunctionRTrimFunctionScriptEngineFunctionScriptEngineBuildVersionFunctionScriptEngineMajorVersionFunction

Page 13: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ScriptEngineMinorVersionFunctionSecondFunctionSgnFunctionSinFunctionSpaceFunctionSplitFunctionSqrFunctionStrCompFunctionStringFunctionStrReverseFunctionTanFunctionTimeFunctionTimerFunctionTimeSerialFunctionTimeValueFunctionTrimFunctionTypeNameFunctionUBoundFunctionUCaseFunctionVarTypeFunctionWeekdayFunctionWeekdayNameFunctionYearFunction

Page 14: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MethodsVBScriptLanguageReference

VersionInformation

ClearMethodExecuteMethodRaiseMethodReplaceMethodTestMethod

Page 15: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ObjectsVBScriptLanguageReference

VersionInformation

ClassObjectDictionaryObjectErrObjectFileSystemObjectObjectMatchObjectMatchesCollectionRegExpObject

Page 16: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OperatorsVBScriptLanguageReference

VersionInformation

AdditionOperator(+)AndOperatorAssignmentOperator(=)ConcatenationOperator(&)DivisionOperator(/)EqvOperatorExponentiationOperator(^)ImpOperatorIntegerDivisionOperator(\)IsOperatorModOperatorMultiplicationOperator(*)NegationOperator(-)NotOperatorOperatorPrecedenceOrOperatorSubtractionOperator(-)XorOperator

Page 17: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertiesVBScriptLanguageReference

VersionInformation

DescriptionPropertyFirstIndexPropertyGlobalPropertyHelpContextPropertyHelpFilePropertyIgnoreCasePropertyLengthPropertyNumberPropertyPatternPropertySourcePropertyValueProperty

Page 18: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®Scripting

EditionStatementsVBScriptLanguageReference

VersionInformation

CallStatementClassStatementConstStatementDimStatementDo...LoopStatementEraseStatementExecuteStatementExitStatementFor...NextStatementForEach...NextStatementFunctionStatementIf...Then...ElseStatementOnErrorStatementOptionExplicitStatementPrivateStatementPropertyGetStatementPropertyLetStatementPropertySetStatementPublicStatementRandomizeStatementReDimStatementRemStatementSelectCaseStatementSetStatementSubStatementWhile...WendStatementWithStatement

Page 19: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionUsingConditionalStatements

VBScriptTutorialPrevious

Next

ControllingProgramExecution

Youcancontroltheflowofyourscriptwithconditionalstatementsandloopingstatements.Usingconditionalstatements,youcanwriteVBScriptcodethatmakesdecisionsandrepeatsactions.ThefollowingconditionalstatementsareavailableinVBScript:

If...Then...Elsestatement

SelectCasestatement

MakingDecisionsUsingIf...Then...Else

TheIf...Then...ElsestatementisusedtoevaluatewhetheraconditionisTrueorFalseand,dependingontheresult,tospecifyoneormorestatementstorun.Usuallytheconditionisanexpressionthatusesacomparisonoperatortocompareonevalueorvariablewithanother.Forinformationaboutcomparisonoperators,seeComparisonOperators.If...Then...Elsestatementscanbenestedtoasmanylevelsasyouneed.

RunningStatementsifaConditionisTrue

TorunonlyonestatementwhenaconditionisTrue,usethesingle-linesyntaxfortheIf...Then...Elsestatement.Thefollowingexampleshowsthesingle-linesyntax.NoticethatthisexampleomitstheElsekeyword.

SubFixDate()

Page 20: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimmyDatemyDate=#2/13/95#IfmyDate<NowThenmyDate=NowEndSub

Torunmorethanonelineofcode,youmustusethemultiple-line(orblock)syntax.ThissyntaxincludestheEndIfstatement,asshowninthefollowingexample:

SubAlertUser(value)Ifvalue=0ThenAlertLabel.ForeColor=vbRedAlertLabel.Font.Bold=TrueAlertLabel.Font.Italic=TrueEndIfEndSub

RunningCertainStatementsifaConditionisTrueandRunningOthersifaConditionisFalse

YoucanuseanIf...Then...Elsestatementtodefinetwoblocksofexecutablestatements:oneblocktoruniftheconditionisTrue,theotherblocktoruniftheconditionisFalse.

SubAlertUser(value)Ifvalue=0ThenAlertLabel.ForeColor=vbRedAlertLabel.Font.Bold=TrueAlertLabel.Font.Italic=True

Page 21: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ElseAlertLabel.Forecolor=vbBlackAlertLabel.Font.Bold=FalseAlertLabel.Font.Italic=FalseEndIfEndSub

DecidingBetweenSeveralAlternatives

AvariationontheIf...Then...Elsestatementallowsyoutochoosefromseveralalternatives.AddingElseIfclausesexpandsthefunctionalityoftheIf...Then...Elsestatementsoyoucancontrolprogramflowbasedondifferentpossibilities.Forexample:

SubReportValue(value)Ifvalue=0ThenMsgBoxvalueElseIfvalue=1ThenMsgBoxvalueElseIfvalue=2thenMsgboxvalueElseMsgbox"Valueoutofrange!"EndIf

YoucanaddasmanyElseIfclausesasyouneedtoprovidealternativechoices.ExtensiveuseoftheElseIfclausesoftenbecomescumbersome.AbetterwaytochoosebetweenseveralalternativesistheSelectCasestatement.

Page 22: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MakingDecisionswithSelectCase

TheSelectCasestructureprovidesanalternativetoIf...Then...ElseIfforselectivelyexecutingoneblockofstatementsfromamongmultipleblocksofstatements.ASelectCasestatementprovidescapabilitysimilartotheIf...Then...Elsestatement,butitmakescodemoreefficientandreadable.

ASelectCasestructureworkswithasingletestexpressionthatisevaluatedonce,atthetopofthestructure.TheresultoftheexpressionisthencomparedwiththevaluesforeachCaseinthestructure.Ifthereisamatch,theblockofstatementsassociatedwiththatCaseisexecuted:

SelectCaseDocument.Form1.CardType.Options(SelectedIndex).TextCase"MasterCard"DisplayMCLogoValidateMCAccountCase"Visa"DisplayVisaLogoValidateVisaAccountCase"AmericanExpress"DisplayAMEXCOLogoValidateAMEXCOAccountCaseElseDisplayUnknownImagePromptAgainEndSelect

NoticethattheSelectCasestructureevaluatesanexpressiononceatthetopofthestructure.Incontrast,theIf...Then...ElseIfstructurecanevaluateadifferentexpressionforeachElseIfstatement.Youcanreplacean

Page 23: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

If...Then...ElseIfstructurewithaSelectCasestructureonlyifeachElseIfstatementevaluatesthesameexpression.

Page 24: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLoopingThroughCode

VBScriptTutorialPrevious

Next

UsingLoopstoRepeatCode

Loopingallowsyoutorunagroupofstatementsrepeatedly.SomeloopsrepeatstatementsuntilaconditionisFalse;othersrepeatstatementsuntilaconditionisTrue.Therearealsoloopsthatrepeatstatementsaspecificnumberoftimes.

ThefollowingloopingstatementsareavailableinVBScript:

Do...Loop:LoopswhileoruntilaconditionisTrue.

While...Wend:LoopswhileaconditionisTrue.

For...Next:Usesacountertorunstatementsaspecifiednumberoftimes.

ForEach...Next:Repeatsagroupofstatementsforeachiteminacollectionoreachelementofanarray.

UsingDoLoops

YoucanuseDo...Loopstatementstorunablockofstatementsanindefinitenumberoftimes.ThestatementsarerepeatedeitherwhileaconditionisTrueoruntilaconditionbecomesTrue.

RepeatingStatementsWhileaConditionisTrue

UsetheWhilekeywordtocheckaconditioninaDo...Loopstatement.Youcanchecktheconditionbeforeyouentertheloop(asshowninthefollowingChkFirstWhileexample),oryoucancheckitaftertheloophasrunatleastonce(asshownintheChkLastWhileexample).IntheChkFirstWhileprocedure,ifmyNumissetto9insteadof20,thestatementsinsidetheloopwillneverrun.IntheChkLastWhileprocedure,the

Page 25: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

statementsinsidethelooprunonlyoncebecausetheconditionisalreadyFalse.

SubChkFirstWhile()Dimcounter,myNumcounter=0myNum=20DoWhilemyNum>10myNum=myNum-1counter=counter+1LoopMsgBox"Theloopmade"&counter&"repetitions."EndSub

SubChkLastWhile()Dimcounter,myNumcounter=0myNum=9DomyNum=myNum-1counter=counter+1LoopWhilemyNum>10MsgBox"Theloopmade"&counter&"repetitions."EndSub

RepeatingaStatementUntilaConditionBecomesTrue

YoucanusetheUntilkeywordintwowaystocheckaconditioninaDo...Loopstatement.Youcanchecktheconditionbeforeyouentertheloop(asshowninthefollowingChkFirstUntilexample),oryoucancheckitaftertheloophasrunatleastonce(asshownintheChkLastUntilexample).AslongastheconditionisFalse,theloopingoccurs.

SubChkFirstUntil()Dimcounter,myNum

Page 26: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

counter=0myNum=20DoUntilmyNum=10myNum=myNum-1counter=counter+1LoopMsgBox"Theloopmade"&counter&"repetitions."EndSub

SubChkLastUntil()Dimcounter,myNumcounter=0myNum=1DomyNum=myNum+1counter=counter+1LoopUntilmyNum=10MsgBox"Theloopmade"&counter&"repetitions."EndSub

ExitingaDo...LoopStatementfromInsidetheLoop

YoucanexitaDo...LoopbyusingtheExitDostatement.Becauseyouusuallywanttoexitonlyincertainsituations,suchastoavoidanendlessloop,youshouldusetheExitDostatementintheTruestatementblockofanIf...Then...Elsestatement.IftheconditionisFalse,thelooprunsasusual.

Inthefollowingexample,myNumisassignedavaluethatcreatesanendlessloop.TheIf...Then...Elsestatementchecksforthiscondition,preventingtheendlessrepetition.

SubExitExample()Dimcounter,myNumcounter=0myNum=9

Page 27: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DoUntilmyNum=10myNum=myNum-1counter=counter+1IfmyNum<10ThenExitDoLoopMsgBox"Theloopmade"&counter&"repetitions."EndSub

UsingWhile...Wend

TheWhile...WendstatementisprovidedinVBScriptforthosewhoarefamiliarwithitsusage.However,becauseofthelackofflexibilityinWhile...Wend,itisrecommendedthatyouuseDo...Loopinstead.

UsingFor...Next

YoucanuseFor...Nextstatementstorunablockofstatementsaspecificnumberoftimes.Forloops,useacountervariablewhosevalueisincreasedordecreasedwitheachrepetitionoftheloop.

Forexample,thefollowingprocedurecausesaprocedurecalledMyProctoexecute50times.TheForstatementspecifiesthecountervariablexanditsstartandendvalues.TheNextstatementincrementsthecountervariableby1.

SubDoMyProc50Times()DimxForx=1To50MyProcNextEndSub

UsingtheStepkeyword,youcanincreaseordecreasethecountervariablebythevalueyouspecify.Inthefollowingexample,thecountervariablejisincrementedby2eachtimethelooprepeats.Whentheloopisfinished,totalisthesumof2,4,6,8,and10.

SubTwosTotal()

Page 28: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Dimj,totalForj=2To10Step2total=total+jNextMsgBox"Thetotalis"&totalEndSub

Todecreasethecountervariable,youuseanegativeStepvalue.Youmustspecifyanendvaluethatislessthanthestartvalue.Inthefollowingexample,thecountervariablemyNumisdecreasedby2eachtimethelooprepeats.Whentheloopisfinished,totalisthesumof16,14,12,10,8,6,4,and2.

SubNewTotal()DimmyNum,totalFormyNum=16To2Step-2total=total+myNumNextMsgBox"Thetotalis"&totalEndSub

YoucanexitanyFor...NextstatementbeforethecounterreachesitsendvaluebyusingtheExitForstatement.Becauseyouusuallywanttoexitonlyincertainsituations,suchaswhenanerroroccurs,youshouldusetheExitForstatementintheTruestatementblockofanIf...Then...Elsestatement.IftheconditionisFalse,thelooprunsasusual.

UsingForEach...Next

AForEach...NextloopissimilartoaFor...Nextloop.Insteadofrepeatingthestatementsaspecifiednumberoftimes,aForEach...Nextlooprepeatsagroupofstatementsforeachiteminacollectionofobjectsorforeachelementofanarray.Thisisespeciallyhelpfulifyoudon'tknowhowmanyelementsareinacollection.

InthefollowingHTMLcodeexample,thecontentsofaDictionaryobjectisusedtoplacetextinseveraltextboxes:

Page 29: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

<HTML><HEAD><TITLE>FormsandElements</TITLE></HEAD><SCRIPTLANGUAGE="VBScript"><!--SubcmdChange_OnClickDimd'CreateavariableSetd=CreateObject("Scripting.Dictionary")d.Add"0","Athens"'Addsomekeysanditemsd.Add"1","Belgrade"d.Add"2","Cairo"

ForEachIindDocument.frmForm.Elements(I).Value=D.Item(I)NextEndSub--></SCRIPT><BODY><CENTER><FORMNAME="frmForm"

<InputType="Text"><p><InputType="Text"><p><InputType="Text"><p><InputType="Text"><p><InputType="Button"NAME="cmdChange"VALUE="ClickHere"><p></FORM></CENTER></BODY></HTML>

Page 30: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptandForms

VBScriptTutorialPrevious

Next

SimpleValidation

YoucanuseVisualBasicScriptingEditiontodomuchoftheformprocessingthatyou'dusuallyhavetodoonaserver.Youcanalsodothingsthatjustcan'tbedoneontheserver.

Here'sanexampleofsimpleclient-sidevalidation.TheHTMLcodeisforatextboxandabutton.IfyouuseMicrosoft®InternetExplorertoviewthepageproducedbythefollowingcode,you'llseeasmalltextboxwithabuttonnexttoit.

<HTML><HEAD><TITLE>SimpleValidation</TITLE><SCRIPTLANGUAGE="VBScript"><!--SubButton1_OnClickDimTheFormSetTheForm=Document.ValidFormIfIsNumeric(TheForm.Text1.Value)ThenIfTheForm.Text1.Value<1OrTheForm.Text1.Value>10ThenMsgBox"Pleaseenteranumberbetween1and10."ElseMsgBox"Thankyou."EndIfElse

Page 31: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MsgBox"Pleaseenteranumericvalue."EndIfEndSub--></SCRIPT></HEAD><BODY><H3>SimpleValidation</H3><HR><FORMNAME="ValidForm">Enteravaluebetween1and10:<INPUTNAME="Text1"TYPE="TEXT"SIZE="2"><INPUTNAME="Button1"TYPE="BUTTON"VALUE="Submit"></FORM></BODY></HTML>

ThedifferencebetweenthistextboxandtheexamplesonASimpleVBScriptPageisthattheValuepropertyofthetextboxisusedtochecktheenteredvalue.TogettheValueproperty,thecodehastoqualifythereferencetothenameofthetextbox.

YoucanalwayswriteoutthefullreferenceDocument.ValidForm.Text1.However,whereyouhavemultiplereferencestoformcontrols,you'llwanttodowhatwasdonehere.Firstdeclareavariable.ThenusetheSetstatementtoassigntheformtothevariableTheForm.Aregularassignmentstatement,suchasDim,doesn'tworkhere;youmustuseSettopreservethereferencetoanobject.

UsingNumericValues

Noticethattheexampledirectlyteststhevalueagainstanumber:itusestheIsNumericfunctiontomakesurethestringinthetextboxisanumber.AlthoughVBScriptautomaticallyconvertsstringsandnumbers,it'salways

Page 32: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

agoodpracticetotestauser-enteredvalueforitsdatasubtypeandtouseconversionfunctionsasnecessary.Whendoingadditionwithtextboxvalues,convertthevaluesexplicitlytonumbersbecausetheplussign(+)operatorrepresentsbothadditionandstringconcatenation.Forexample,ifText1contains"1"andText2contains"2",youseethefollowingresults:

A=Text1.Value+Text2.Value 'Ais"12"A=CDbl(Text1.Value)+Text2.Value 'Ais3

ValidatingandPassingDataBacktotheServer

Thesimplevalidationexampleusesaplainbuttoncontrol.IfaSubmitcontrolwasused,theexamplewouldneverseethedatatocheckit—everythingwouldgoimmediatelytotheserver.AvoidingtheSubmitcontrolletsyoucheckthedata,butitdoesn'tsubmitthedatatotheserver.Thatrequiresanadditionallineofcode:

<SCRIPTLANGUAGE="VBScript"><!--SubButton1_OnClickDimTheFormSetTheForm=Document.ValidFormIfIsNumeric(TheForm.Text1.Value)ThenIfTheForm.Text1.Value<1OrTheForm.Text1.Value>10ThenMsgBox"Pleaseenteranumberbetween1and10."ElseMsgBox"Thankyou."TheForm.Submit 'Datacorrect;sendtoserver.EndIfElseMsgBox"Pleaseenteranumericvalue."EndIfEndSub-->

Page 33: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

</SCRIPT>

Tosendthedatatotheserver,thecodeinvokestheSubmitmethodontheformobjectwhenthedataiscorrect.Fromthere,theserverhandlesthedatajustasitotherwisewould—exceptthatthedataiscorrectbeforeitgetsthere.FindcompleteinformationabouttheSubmitmethodandothermethodsintheInternetExplorerScriptingObjectModeldocumentation,whichcanbefoundontheMicrosoft®Website(http://www.microsoft.com).

Sofar,you'veseenonlythestandardHTML<FORM>objects.InternetExploreralsoletsyouexploitthefullpowerofActiveX®controls(formerlycalledOLEcontrols)andJava™objects.

Page 34: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

tags">tags">

Microsoft®VisualBasic®ScriptingEditionUsingVBScriptwithObjects

VBScriptTutorialPrevious

UsingObjects

WhetheryouuseanActiveX®control(formerlycalledanOLEcontrol)oraJava™object,MicrosoftVisualBasicScriptingEditionandMicrosoft®InternetExplorerhandleitthesameway.Ifyou'reusingInternetExplorerandhaveinstalledtheLabelcontrol,youcanseethepageproducedbythefollowingcode.

Youincludeanobjectusingthe<OBJECT>tagsandsetitsinitialpropertyvaluesusing<PARAM>tags.Ifyou'reaVisualBasicprogrammer,you'llrecognizethatusingthe<PARAM>tagsisjustlikesettinginitialpropertiesforacontrolonaform.Forexample,thefollowingsetof<OBJECT>and<PARAM>tagsaddstheActiveXLabelcontroltoapage:

<OBJECT classid="clsid:99B42120-6EC7-11CF-A6C7-00AA00A47DD2" id=lblActiveLbl width=250 height=250 align=left hspace=20 vspace=0><PARAMNAME="Angle"VALUE="90">

Page 35: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

<PARAMNAME="Alignment"VALUE="4"><PARAMNAME="BackStyle"VALUE="0"><PARAMNAME="Caption"VALUE="ASimpleDesultoryLabel"><PARAMNAME="FontName"VALUE="Verdana,Arial,Helvetica"><PARAMNAME="FontSize"VALUE="20"><PARAMNAME="FontBold"VALUE="1"><PARAMNAME="FrColor"VALUE="0"></OBJECT>

Youcangetproperties,setproperties,andinvokemethodsjustaswithanyoftheformcontrols.Thefollowingcode,forexample,includes<FORM>controlsyoucanusetomanipulatetwopropertiesoftheLabelcontrol:

<FORMNAME="LabelControls"><INPUTTYPE="TEXT"NAME="txtNewText"SIZE=25><INPUTTYPE="BUTTON"NAME="cmdChangeIt"VALUE="ChangeText"><INPUTTYPE="BUTTON"NAME="cmdRotate"VALUE="RotateLabel"></FORM>

Withtheformdefined,aneventprocedureforthecmdChangeItbuttonchangesthelabeltext:

<SCRIPTLANGUAGE="VBScript"><!--SubcmdChangeIt_onClick DimTheForm SetTheForm=Document.LabelControls lblActiveLbl.Caption=TheForm.txtNewText.Value

Page 36: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndSub--></SCRIPT>

ThecodequalifiesreferencestocontrolsandvaluesinsidetheformsjustasintheSimpleValidationexample.

SeveralActiveXcontrolsareavailableforusewithInternetExplorer.Youcanfindcompleteinformationabouttheproperties,methods,andeventsthere,aswellastheclassidentifiers(CLSID)forthecontrolsontheMicrosoft®Website(http://www.microsoft.com).Youcanfindmoreinformationaboutthe<OBJECT>tagontheInternetExplorer4.0Author'sGuideandHTMLReferencepage.

NoteEarlierreleasesofInternetExplorerrequiredbraces({})aroundtheclassidattributeanddidnotconformtotheW3Cspecification.Usingbraceswiththecurrentreleasegeneratesa"Thispageusesanoutdatedversionofthe<OBJECT>tag"message.

Page 37: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptingRun-TimeLibraryReference

LanguageReferenceVersionInformation

FeatureInformation

AlphabeticKeywordList

Constants

Methods

Objects

Properties

WelcometotheScriptingRun-TimeLibraryReference

ThesehandyblocksofinformationwillhelpyouexplorethemanydifferentpartsoftheScriptingRun-TimeLibrary.

You'llfindallthepartsoftheScriptingRun-TimeLibrarylistedalphabeticallyundertheAlphabeticKeywordList.Butifyouwanttoexaminejustonecategory,say,objects,eachlanguagecategoryhasitsown,morecompactsection.

How'sitwork?Clickononeoftheheadingstothelefttodisplayalistofitemscontainedinthatcategory.Fromthislist,selectthetopicthatyouwanttoview.Onceyou'veopenedthattopic,youcaneasilylinktootherrelatedsections.

Page 38: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

So,goaheadandtakealook!Studysomestatements,mulloverthemethods,orfigureoutafewfunctions.You'llseejusthowversatiletheScriptingRun-TimeLibrarycanbe!

©1999MicrosoftCorporation.Allrightsreserved.

Page 39: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FeatureInformation

ScriptingRun-TimeLibraryReference

VersionInformation

MicrosoftScriptingRun-TimeFeatures

Page 40: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AlphabeticKeywordList

ScriptingRun-TimeLibraryReference

VersionInformation

AddMethod(Dictionary)AddMethod(Folders)AtEndOfLinePropertyAtEndOfStreamPropertyAttributesPropertyAvailableSpacePropertyBuildPathMethodCloseMethodColumnPropertyCompareModePropertyCopyMethodCopyFileMethodCopyFolderMethodCountPropertyCreateFolderMethodCreateTextFileMethodDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDeleteMethodDeleteFileMethodDeleteFolderMethodDictionaryObjectDriveObjectDrivePropertyDriveTypeConstantsDriveExistsMethodDriveLetterPropertyDrivesCollection

Page 41: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DrivesPropertyDriveTypePropertyExistsMethodFileExistsMethodFileAttributeConstantsFileInput/OutputConstantsFileObjectFilesCollectionFilesPropertyFileSystemObjectConstantsFileSystemObjectObjectFileSystemPropertyFolderObjectFoldersCollectionFolderExistsMethodFreeSpacePropertyGetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethodIsReadyPropertyIsRootFolderPropertyItemPropertyItemsMethodKeyPropertyKeysMethodLinePropertyMoveMethodMoveFileMethod

Page 42: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MoveFolderMethodNamePropertyOpenAsTextStreamMethodOpenTextFileMethodParentFolderPropertyPathPropertyReadMethodReadAllMethodReadLineMethodRemoveMethodRemoveAllMethodRootFolderPropertySerialNumberPropertyShareNamePropertyShortNamePropertyShortPathPropertySizePropertySkipMethodSkipLineMethodSpecialFolderConstantsSubfoldersPropertyTextStreamObjectTotalSizePropertyTypePropertyVolumeNamePropertyWriteMethodWriteBlankLinesMethodWriteLineMethod

Page 43: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ConstantsScriptingRun-TimeLibrary

ReferenceVersionInformation

DriveTypeConstantsFileAttributeConstantsFileInput/OutputConstantsFileSystemObjectConstantsSpecialFolderConstants

Page 44: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MethodsScriptingRun-TimeLibrary

ReferenceVersionInformation

AddMethod(Dictionary)AddMethod(Folders)BuildPathMethodCloseMethodCopyMethodCopyFileMethodCopyFolderMethodCreateFolderMethodCreateTextFileMethodDeleteMethodDeleteFileMethodDeleteFolderMethodDriveExistsMethodExistsMethodFileExistsMethodFolderExistsMethodGetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethodItemsMethodKeysMethod

Page 45: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MoveMethodMoveFileMethodMoveFolderMethodOpenAsTextStreamMethodOpenTextFileMethodReadMethodReadAllMethodReadLineMethodRemoveMethodRemoveAllMethodSkipMethodSkipLineMethodWriteMethodWriteBlankLinesMethodWriteLineMethod

Page 46: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ObjectsScriptingRun-TimeLibrary

ReferenceVersionInformation

DictionaryObjectDriveObjectDrivesCollectionFileObjectFilesCollectionFileSystemObjectObjectFolderObjectFoldersCollectionTextStreamObject

Page 47: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertiesScriptingRun-TimeLibrary

ReferenceVersionInformation

AtEndOfLinePropertyAtEndOfStreamPropertyAttributesPropertyAvailableSpacePropertyColumnPropertyCompareModePropertyCountPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyDriveLetterPropertyDrivesPropertyDriveTypePropertyFilesPropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyIsRootFolderPropertyItemPropertyKeyPropertyLinePropertyNamePropertyParentFolderPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyShortNamePropertyShortPathProperty

Page 48: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SizePropertySubFoldersPropertyTotalSizePropertyTypePropertyVolumeNameProperty

Page 49: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObjectTheFileSystemObjectObjectModel

Next

WhenwritingscriptsforActiveServerPages,theWindowsScriptingHost,orotherapplicationswherescriptingcanbeused,it'softenimportanttoadd,move,change,create,ordeletefolders(directories)andfilesontheWebserver.ItmayalsobenecessarytogetinformationaboutandmanipulatedrivesattachedtotheWebserver.

Scriptingallowsyoutoprocessdrives,folders,andfilesusingtheFileSystemObject(FSO)objectmodel,whichisexplainedinthefollowingsections:

IntroductiontotheFileSystemObjectandtheScriptingRun-TimeLibraryReference

FileSystemObjectObjects

ProgrammingtheFileSystemObject

WorkingwithDrivesandFolders

WorkingwithFiles

FileSystemObjectSampleCode

Page 50: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObject

IntroductiontotheFileSystemObjectandtheScriptingRun-TimeLibraryReference

PreviousNext

TheFileSystemObject(FSO)objectmodelallowsyoutousethefamiliarobject.methodsyntaxwitharichsetofproperties,methods,andeventstoprocessfoldersandfiles.

Usethisobject-basedtoolwith:

HTMLtocreateWebpages

WindowsScriptingHosttocreatebatchfilesforMicrosoftWindows

ScriptControltoprovideascriptingcapabilitytoapplicationsdevelopedinotherlanguages

BecauseuseoftheFSOontheclientsideraisesserioussecurityissuesaboutprovidingpotentiallyunwelcomeaccesstoaclient'slocalfilesystem,thisdocumentationassumesuseoftheFSOobjectmodeltocreatescriptsexecutedbyInternetWebpagesontheserverside.Sincetheserversideisused,theInternetExplorerdefaultsecuritysettingsdonotallowclient-sideuseoftheFileSystemObjectobject.Overridingthosedefaultscouldsubjectalocalcomputertounwelcomeaccesstothefilesystem,whichcouldresultintotaldestructionofthefilesystem'sintegrity,causinglossofdata,orworse.

TheFSOobjectmodelgivesyourserver-sideapplicationstheabilitytocreate,alter,move,anddeletefolders,ortodetectifparticularfoldersexist,andifso,where.Youcanalsofindoutinformationabout

Page 51: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

folders,suchastheirnames,thedatetheywerecreatedorlastmodified,andsoforth.

TheFSOobjectmodelalsomakesiteasytoprocessfiles.Whenprocessingfiles,theprimarygoalistostoredatainaspace-andresource-efficient,easy-to-accessformat.Youneedtobeabletocreatefiles,insertandchangethedata,andoutput(read)thedata.Sincestoringdatainadatabase,suchasAccessorSQLServer,addsasignificantamountofoverheadtoyourapplication,storingyourdatainabinaryortextfilemaybethemostefficientsolution.Youmayprefernottohavethisoverhead,oryourdataaccessrequirementsmaynotrequirealltheextrafeaturesassociatedwithafull-featureddatabase.

TheFSOobjectmodel,whichiscontainedintheScriptingtypelibrary(Scrrun.dll),supportstextfilecreationandmanipulationthroughtheTextStreamobject.Althoughitdoesnotyetsupportthecreationormanipulationofbinaryfiles,futuresupportofbinaryfilesisplanned.

Page 52: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObject

FileSystemObjectObjects

PreviousNext

TheFileSystemObject(FSO)objectmodelcontainsthefollowingobjectsandcollections.

Object/Collection Description

FileSystemObject

Mainobject.Containsmethodsandpropertiesthatallowyoutocreate,delete,gaininformationabout,andgenerallymanipulatedrives,folders,andfiles.ManyofthemethodsassociatedwiththisobjectduplicatethoseinotherFSOobjects;theyareprovidedforconvenience.

Drive

Object.Containsmethodsandpropertiesthatallowyoutogatherinformationaboutadriveattachedtothesystem,suchasitssharenameandhowmuchroomisavailable.Notethata"drive"isn'tnecessarilyaharddisk,butcanbeaCD-ROMdrive,aRAMdisk,andsoforth.Adrivedoesn'tneedtobephysicallyattachedtothesystem;itcanbealsobelogicallyconnectedthroughanetwork.

Drives

Collection.Providesalistofthedrivesattachedtothesystem,eitherphysicallyorlogically.TheDrivescollectionincludesalldrives,regardlessoftype.Removable-mediadrivesneednothavemediainsertedforthemtoappearinthiscollection.

File

Object.Containsmethodsandpropertiesthatallowyoutocreate,delete,ormoveafile.

Page 53: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Alsoallowsyoutoquerythesystemforafilename,path,andvariousotherproperties.

Files Collection.Providesalistofallfilescontainedwithinafolder.

Folder

Object.Containsmethodsandpropertiesthatallowyoutocreate,delete,ormovefolders.Alsoallowsyoutoquerythesystemforfoldernames,paths,andvariousotherproperties.

Folders Collection.ProvidesalistofallthefolderswithinaFolder.

TextStream Object.Allowsyoutoreadandwritetextfiles.

Page 54: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObject

ProgrammingtheFileSystemObject

PreviousNext

ToprogramwiththeFileSystemObject(FSO)objectmodel:

UsetheCreateObjectmethodtocreateaFileSystemObjectobject.

Usetheappropriatemethodonthenewlycreatedobject.

Accesstheobject'sproperties.

TheFSOobjectmodeliscontainedintheScriptingtypelibrary,whichislocatedintheScrrun.dllfile.Therefore,youmusthaveScrrun.dllintheappropriatesystemdirectoryonyourWebservertousetheFSOobjectmodel.

CreatingaFileSystemObjectObject

First,createaFileSystemObjectobjectbyusingtheCreateObjectmethod.InVBScript,usethefollowingcodetocreateaninstanceoftheFileSystemObject:

DimfsoSetfso=CreateObject("Scripting.FileSystemObject")

ThissamplecodedemonstrateshowtocreateaninstanceoftheFileSystemObject.

InJScript,usethiscodetodothesamething:

varfso;fso=newActiveXObject("Scripting.FileSystemObject");

Inbothoftheseexamples,ScriptingisthenameofthetypelibraryandFileSystemObjectisthenameoftheobjectthatyouwanttocreate.You

Page 55: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

cancreateonlyoneinstanceoftheFileSystemObjectobject,regardlessofhowmanytimesyoutrytocreateanother.

UsingtheAppropriateMethod

Second,usetheappropriatemethodoftheFileSystemObjectobject.Forexample,tocreateanewobject,useeitherCreateTextFileorCreateFolder(theFSOobjectmodeldoesn'tsupportthecreationordeletionofdrives).

Todeleteobjects,usetheDeleteFileandDeleteFoldermethodsoftheFileSystemObjectobject,ortheDeletemethodoftheFileandFolderobjects.Youcanalsocopyandmovefilesandfolders,byusingtheappropriatemethods.

NoteSomefunctionalityintheFileSystemObjectobjectmodelisredundant.Forexample,youcancopyafileusingeithertheCopyFilemethodoftheFileSystemObjectobject,oryoucanusetheCopymethodoftheFileobject.Themethodsworkthesame;bothexisttoofferprogrammingflexibility.

AccessingExistingDrives,Files,andFolders

Togainaccesstoanexistingdrive,file,orfolder,usetheappropriate"get"methodoftheFileSystemObjectobject:

GetDrive

GetFolder

GetFile

TogainaccesstoanexistingfileinVBScript:

Dimfso,f1Setfso=CreateObject("Scripting.FileSystemObject")Setf1=fso.GetFile("c:\test.txt")

Page 56: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

TodothesamethinginJScript,usethefollowingcode:

varfso,f1;fso=newActiveXObject("Scripting.FileSystemObject");f1=fso.GetFile("c:\\test.txt");

Donotusethe"get"methodsfornewlycreatedobjects,sincethe"create"functionsalreadyreturnahandletothatobject.Forexample,ifyoucreateanewfolderusingtheCreateFoldermethod,don'tusetheGetFoldermethodtoaccessitsproperties,suchasName,Path,Size,andsoforth.JustsetavariabletotheCreateFolderfunctiontogainahandletothenewlycreatedfolder,thenaccessitsproperties,methods,andevents.TodothisinVBScript,usethefollowingcode:

SubCreateFolderDimfso,fldrSetfso=CreateObject("Scripting.FileSystemObject")Setfldr=fso.CreateFolder("C:\MyTest")Response.Write"Createdfolder:"&fldr.NameEndSub

TosetavariabletotheCreateFolderfunctioninJScript,usethissyntax:

functionCreateFolder(){varfso,fldr;fso=newActiveXObject("Scripting.FileSystemObject");fldr=fso.CreateFolder("C:\\MyTest");Response.Write("Createdfolder:"+fldr.Name);}

AccessingtheObject'sProperties

Onceyouhaveahandletoanobject,youcanaccessitsproperties.Forexample,togetthenameofaparticularfolder,firstcreateaninstanceoftheobject,thengetahandletoitwiththeappropriatemethod(inthiscase,the

Page 57: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

GetFoldermethod,sincethefolderalreadyexists).

UsethiscodetogetahandletotheGetFoldermethodinVBScript:

Setfldr=fso.GetFolder("c:\")

TodothesamethinginJScript,usethefollowingcode:

varfldr=fso.GetFolder("c:\\");

NowthatyouhaveahandletoaFolderobject,youcancheckitsNameproperty.UsethefollowingcodetocheckthisinVBScript:

Response.Write"Foldernameis:"&fldr.Name

TocheckaNamepropertyinJScript,usethissyntax:

Response.Write("Foldernameis:"+fldr.Name);

Tofindoutthelasttimeafilewasmodified,usethefollowingVBScriptsyntax:

Dimfso,f1Setfso=CreateObject("Scripting.FileSystemObject")'GetaFileobjecttoquery.Setf1=fso.GetFile("c:\detlog.txt")'Printinformation.Response.Write"Filelastmodified:"&f1.DateLastModified

TofindoutthesamethinginJScript,usethiscode:

varfso,f1;fso=newActiveXObject("Scripting.FileSystemObject");//GetaFileobjecttoquery.f1=fso.GetFile("c:\\detlog.txt");//Printinformation.Response.Write("Filelastmodified:"+f1.DateLastModified);

Page 58: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObject

WorkingwithDrivesandFolders

PreviousNext

WiththeFileSystemObject(FSO)objectmodel,youcanworkwithdrivesandfoldersprogrammaticallyjustasyoucanintheWindowsExplorerinteractively.Youcancopyandmovefolders,getinformationaboutdrivesandfolders,andsoforth.

GettingInformationAboutDrives

TheDriveobjectallowsyoutogaininformationaboutthevariousdrivesattachedtoasystem,eitherphysicallyoroveranetwork.Itspropertiesallowyoutoobtaininformationabout:

Thetotalsizeofthedriveinbytes(TotalSizeproperty)

Howmuchspaceisavailableonthedriveinbytes(AvailableSpaceorFreeSpaceproperties)

Whatletterisassignedtothedrive(DriveLetterproperty)

Whattypeofdriveitis,suchasremovable,fixed,network,CD-ROM,orRAMdisk(DriveTypeproperty)

Thedrive'sserialnumber(SerialNumberproperty)

Thetypeoffilesystemthedriveuses,suchasFAT,FAT32,NTFS,andsoforth(FileSystemproperty)

Whetheradriveisavailableforuse(IsReadyproperty)

Thenameoftheshareand/orvolume(ShareNameandVolumeNameproperties)

Thepathorrootfolderofthedrive(PathandRootFolderproperties)

Viewthesamplecodetoseehowthesepropertiesareusedin

Page 59: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

FileSystemObject.

ExampleUsageoftheDriveObject

UsetheDriveobjecttogatherinformationaboutadrive.Youwon'tseeareferencetoanactualDriveobjectinthefollowingcode;instead,usetheGetDrivemethodtogetareferencetoanexistingDriveobject(inthiscase,drv).

ThefollowingexampledemonstrateshowtousetheDriveobjectinVBScript:

SubShowDriveInfo(drvPath)Dimfso,drv,sSetfso=CreateObject("Scripting.FileSystemObject")Setdrv=fso.GetDrive(fso.GetDriveName(drvPath))s="Drive"&UCase(drvPath)&"-"s=s&drv.VolumeName&"<br>"s=s&"TotalSpace:"&FormatNumber(drv.TotalSize/1024,0)s=s&"Kb"&"<br>"s=s&"FreeSpace:"&FormatNumber(drv.FreeSpace/1024,0)s=s&"Kb"&"<br>"Response.WritesEndSub

ThefollowingcodeillustratesthesamefunctionalityinJScript:

functionShowDriveInfo1(drvPath){varfso,drv,s="";fso=newActiveXObject("Scripting.FileSystemObject");drv=fso.GetDrive(fso.GetDriveName(drvPath));s+="Drive"+drvPath.toUpperCase()+"-";s+=drv.VolumeName+"<br>";s+="TotalSpace:"+drv.TotalSize/1024;s+="Kb"+"<br>";s+="FreeSpace:"+drv.FreeSpace/1024;

Page 60: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

s+="Kb"+"<br>";Response.Write(s);}

WorkingwithFolders

Commonfoldertasksandthemethodsforperformingthemaredescribedinthefollowingtable.

Task MethodCreateafolder. FileSystemObject.CreateFolder

Deleteafolder. Folder.DeleteorFileSystemObject.DeleteFolder

Moveafolder. Folder.MoveorFileSystemObject.MoveFolder

Copyafolder. Folder.CopyorFileSystemObject.CopyFolder

Retrievethenameofafolder. Folder.Name

Findoutifafolderexistsonadrive. FileSystemObject.FolderExists

GetaninstanceofanexistingFolderobject.

FileSystemObject.GetFolder

Findoutthenameofafolder'sparentfolder.

FileSystemObject.GetParentFolderName

Findoutthepathofsystemfolders. FileSystemObject.GetSpecialFolder

ViewthesamplecodetoseehowmanyofthesemethodsandpropertiesareusedinFileSystemObject.

ThefollowingexampledemonstrateshowtousetheFolderandFileSystemObjectobjectstomanipulatefoldersandgaininformationabouttheminVBScript:

Page 61: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SubShowFolderInfo()Dimfso,fldr,s'GetinstanceofFileSystemObject.Setfso=CreateObject("Scripting.FileSystemObject")'GetDriveobject.Setfldr=fso.GetFolder("c:")'Printparentfoldername.Response.Write"Parentfoldernameis:"&fldr&"<br>"'Printdrivename.Response.Write"Containedondrive"&fldr.Drive&"<br>"'Printrootfilename.Iffldr.IsRootFolder=TrueThenResponse.Write"Thisistherootfolder."&""<br>"<br>"ElseResponse.Write"Thisfolderisn'tarootfolder."&"<br><br>"EndIf'CreateanewfolderwiththeFileSystemObjectobject.fso.CreateFolder("C:\Bogus")Response.Write"CreatedfolderC:\Bogus"&"<br>"'Printthebasenameofthefolder.Response.Write"Basename="&fso.GetBaseName("c:\bogus")&"<br>"'Deletethenewlycreatedfolder.fso.DeleteFolder("C:\Bogus")Response.Write"DeletedfolderC:\Bogus"&"<br>"EndSub

ThisexampleshowshowtousetheFolderandFileSystemObjectobjectsinJScript:

functionShowFolderInfo(){varfso,fldr,s="";//GetinstanceofFileSystemObject.fso=newActiveXObject("Scripting.FileSystemObject");

Page 62: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

//GetDriveobject.fldr=fso.GetFolder("c:");//Printparentfoldername.Response.Write("Parentfoldernameis:"+fldr+"<br>");//Printdrivename.Response.Write("Containedondrive"+fldr.Drive+"<br>");//Printrootfilename.if(fldr.IsRootFolder)Response.Write("Thisistherootfolder.");elseResponse.Write("Thisfolderisn'tarootfolder.");Response.Write("<br><br>");//CreateanewfolderwiththeFileSystemObjectobject.fso.CreateFolder("C:\\Bogus");Response.Write("CreatedfolderC:\\Bogus"+"<br>");//Printthebasenameofthefolder.Response.Write("Basename="+fso.GetBaseName("c:\\bogus")+"<br>");//Deletethenewlycreatedfolder.fso.DeleteFolder("C:\\Bogus");Response.Write("DeletedfolderC:\\Bogus"+"<br>");}

Page 63: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObject

WorkingwithFilesPrevious

Next

Therearetwomajorcategoriesoffilemanipulation:

Creating,adding,orremovingdata,andreadingfiles

Moving,copying,anddeletingfiles

CreatingFiles

Therearethreewaystocreateanemptytextfile(sometimesreferredtoasa"textstream").

ThefirstwayistousetheCreateTextFilemethod.ThefollowingexampledemonstrateshowtocreateatextfileusingthismethodinVBScript:

Dimfso,f1Setfso=CreateObject("Scripting.FileSystemObject")Setf1=fso.CreateTextFile("c:\testfile.txt",True)

TousethismethodinJScript,usethiscode:

varfso,f1;fso=newActiveXObject("Scripting.FileSystemObject");f1=fso.CreateTextFile("c:\\testfile.txt",true);

ViewthissamplecodetoseehowtheCreateTextFilemethodisusedinFileSystemObject.

ThesecondwaytocreateatextfileistousetheOpenTextFilemethodoftheFileSystemObjectobjectwiththeForWritingflagset.InVBScript,thecodelookslikethisexample:

Dimfso,tsConstForWriting=2Setfso=CreateObject("Scripting.FileSystemObject")Setts=fso.OpenTextFile("c:\test.txt",ForWriting,True)

Page 64: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

TocreateatextfileusingthismethodinJScript,usethiscode:

varfso,ts;varForWriting=2;fso=newActiveXObject("Scripting.FileSystemObject");ts=fso.OpenTextFile("c:\\test.txt",ForWriting,true);

AthirdwaytocreateatextfileistousetheOpenAsTextStreammethodwiththeForWritingflagset.Forthismethod,usethefollowingcodeinVBScript:

Dimfso,f1,tsConstForWriting=2Setfso=CreateObject("Scripting.FileSystemObject")fso.CreateTextFile("c:\test1.txt")Setf1=fso.GetFile("c:\test1.txt")Setts=f1.OpenAsTextStream(ForWriting,True)

InJScript,usethecodeinthefollowingexample:

varfso,f1,ts;varForWriting=2;fso=newActiveXObject("Scripting.FileSystemObject");fso.CreateTextFile("c:\\test1.txt");f1=fso.GetFile("c:\\test1.txt");ts=f1.OpenAsTextStream(ForWriting,true);

AddingDatatotheFile

Oncethetextfileiscreated,adddatatothefileusingthefollowingthreesteps:

1. Openthetextfile.

2. Writethedata.

3. Closethefile.

Page 65: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Toopenanexistingfile,useeithertheOpenTextFilemethodoftheFileSystemObjectobjectortheOpenAsTextStreammethodoftheFileobject.

Towritedatatotheopentextfile,usetheWrite,WriteLine,orWriteBlankLinesmethodsoftheTextStreamobject,accordingtothetasksoutlinedinthefollowingtable.

Task MethodWritedatatoanopentextfilewithoutatrailingnewlinecharacter. Write

Writedatatoanopentextfilewithatrailingnewlinecharacter. WriteLine

Writeoneormoreblanklinestoanopentextfile. WriteBlankLines

ViewthissamplecodetoseehowtheWrite,WriteLine,andWriteBlankLinesmethodsareusedinFileSystemObject.

Tocloseanopenfile,usetheClosemethodoftheTextStreamobject.

ViewthissamplecodetoseehowtheClosemethodisusedinFileSystemObject.

NoteThenewlinecharactercontainsacharacterorcharacters(dependingontheoperatingsystem)toadvancethecursortothebeginningofthenextline(carriagereturn/linefeed).Beawarethattheendofsomestringsmayalreadyhavesuchnonprintingcharacters.

ThefollowingVBScriptexampledemonstrateshowtoopenafile,useallthreewritemethodstoadddatatothefile,andthenclosethefile:

SubCreateFile()Dimfso,tfSetfso=CreateObject("Scripting.FileSystemObject")Settf=fso.CreateTextFile("c:\testfile.txt",True)'Writealinewithanewlinecharacter.tf.WriteLine("Testing1,2,3.")

Page 66: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

'Writethreenewlinecharacterstothefile.tf.WriteBlankLines(3)'Writealine.tf.Write("Thisisatest.")tf.CloseEndSub

ThisexampledemonstrateshowtousethethreemethodsinJScript:

functionCreateFile(){varfso,tf;fso=newActiveXObject("Scripting.FileSystemObject");tf=fso.CreateTextFile("c:\\testfile.txt",true);//Writealinewithanewlinecharacter.tf.WriteLine("Testing1,2,3.");//Writethreenewlinecharacterstothefile.tf.WriteBlankLines(3);//Writealine.tf.Write("Thisisatest.");tf.Close();}

ReadingFiles

Toreaddatafromatextfile,usetheRead,ReadLine,orReadAllmethodoftheTextStreamobject.Thefollowingtabledescribeswhichmethodtouseforvarioustasks.

Task MethodReadaspecifiednumberofcharactersfromafile. ReadReadanentireline(upto,butnotincluding,thenewlinecharacter). ReadLine

Readtheentirecontentsofatextfile. ReadAll

Page 67: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ViewthissamplecodetoseehowtheReadAllandReadLinemethodsareusedinFileSystemObject.

IfyouusetheReadorReadLinemethodandwanttoskiptoaparticularportionofdata,usetheSkiporSkipLinemethod.Theresultingtextofthereadmethodsisstoredinastringwhichcanbedisplayedinacontrol,parsedbystringfunctions(suchasLeft,Right,andMid),concatenated,andsoforth.

ThefollowingVBScriptexampledemonstrateshowtoopenafile,writetoit,andthenreadfromit:

SubReadFilesDimfso,f1,ts,sConstForReading=1Setfso=CreateObject("Scripting.FileSystemObject")Setf1=fso.CreateTextFile("c:\testfile.txt",True)'Writealine.Response.Write"Writingfile<br>"f1.WriteLine"HelloWorld"f1.WriteBlankLines(1)f1.Close'Readthecontentsofthefile.Response.Write"Readingfile<br>"Setts=fso.OpenTextFile("c:\testfile.txt",ForReading)s=ts.ReadLineResponse.Write"Filecontents='"&s&"'"ts.CloseEndSub

ThiscodedemonstratesthesamethinginJScript:

functionReadFiles(){varfso,f1,ts,s;varForReading=1;fso=newActiveXObject("Scripting.FileSystemObject");f1=fso.CreateTextFile("c:\\testfile.txt",true);//Writealine.

Page 68: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Response.Write("Writingfile<br>");f1.WriteLine("HelloWorld");f1.WriteBlankLines(1);f1.Close();//Readthecontentsofthefile.Response.Write("Readingfile<br>");ts=fso.OpenTextFile("c:\\testfile.txt",ForReading);s=ts.ReadLine();Response.Write("Filecontents='"+s+"'");ts.Close();}

Moving,Copying,andDeletingFiles

TheFSOobjectmodelhastwomethodseachformoving,copying,anddeletingfiles,asdescribedinthefollowingtable.

Task MethodMoveafile File.MoveorFileSystemObject.MoveFileCopyafile File.CopyorFileSystemObject.CopyFileDeleteafile File.DeleteorFileSystemObject.DeleteFile

ViewthissamplecodetoseetwowaystodeleteafileinFileSystemObject.

ThefollowingVBScriptexamplecreatesatextfileintherootdirectoryofdriveC,writessomeinformationtoit,movesittoadirectorycalled\tmp,makesacopyofitinadirectorycalled\temp,thendeletesthecopiesfrombothdirectories.

Torunthefollowingexample,createdirectoriesnamed\tmpand\tempintherootdirectoryofdriveC:

SubManipFilesDimfso,f1,f2,sSetfso=CreateObject("Scripting.FileSystemObject")Setf1=fso.CreateTextFile("c:\testfile.txt",True)Response.Write"Writingfile<br>"'Writealine.

Page 69: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

f1.Write("Thisisatest.")'Closethefiletowriting.f1.CloseResponse.Write"Movingfiletoc:\tmp<br>"'GetahandletothefileinrootofC:\.Setf2=fso.GetFile("c:\testfile.txt")'Movethefileto\tmpdirectory.f2.Move("c:\tmp\testfile.txt")Response.Write"Copyingfiletoc:\temp<br>"'Copythefileto\temp.f2.Copy("c:\temp\testfile.txt")Response.Write"Deletingfiles<br>"'Gethandlestofiles'currentlocation.Setf2=fso.GetFile("c:\tmp\testfile.txt")Setf3=fso.GetFile("c:\temp\testfile.txt")'Deletethefiles.f2.Deletef3.DeleteResponse.Write"Alldone!"EndSub

ThiscodeshowsthesamethinginJScript:

functionManipFiles(){varfso,f1,f2,s;fso=newActiveXObject("Scripting.FileSystemObject");f1=fso.CreateTextFile("c:\\testfile.txt",true);Response.Write("Writingfile<br>");//Writealine.f1.Write("Thisisatest.");//Closethefiletowriting.f1.Close();

Page 70: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Response.Write("Movingfiletoc:\\tmp<br>");//GetahandletothefileinrootofC:\.f2=fso.GetFile("c:\\testfile.txt");//Movethefileto\tmpdirectory.f2.Move("c:\\tmp\\testfile.txt");Response.Write("Copyingfiletoc:\\temp<br>");//Copythefileto\temp.f2.Copy("c:\\temp\\testfile.txt");Response.Write("Deletingfiles<br>");//Gethandlestofiles'currentlocation.f2=fso.GetFile("c:\\tmp\\testfile.txt");f3=fso.GetFile("c:\\temp\\testfile.txt");//Deletethefiles.f2.Delete();f3.Delete();Response.Write("Alldone!");}

Page 71: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObject

FileSystemObjectSampleCode

Previous

Thesamplecodedescribedinthissectionprovidesareal-worldexamplethatdemonstratesmanyofthefeaturesavailableintheFileSystemObjectobjectmodel.Thiscodeshowshowallthefeaturesoftheobjectmodelworktogether,andhowtousethosefeatureseffectivelyinyourowncode.

Notethatsincethiscodeisfairlygeneric,someadditionalcodeandalittletweakingareneededtomakethiscodeactuallyrunonyourmachine.ThesechangesarenecessarybecauseofthedifferentwaysinputandoutputtotheuserishandledbetweenActiveServerPagesandtheWindowsScriptingHost.

TorunthiscodeonanActiveServerPage,usethefollowingsteps:

1. CreateastandardWebpagewithan.aspextension.

2. Copythefollowingsamplecodeintothatfilebetweenthe<BODY;>...</BODY>tags.

3. Encloseallthecodewithin<%...%>tags.

4. MovetheOptionExplicitstatementfromitscurrentpositioninthecodetotheverytopofyourHTMLpage,positioningitevenbeforetheopening<HTML>tag.

5. Place<%...%>tagsaroundtheOptionExplicitstatementtoensurethatit'srunontheserverside.

6. Addthefollowingcodetotheendofthesamplecode:

SubPrint(x)Response.Write"<PRE><FONT;FACE=""CourierNew""SIZE=""1"">"Response.WritexResponse.Write"</FONT></PRE>"EndSubMain

Thepreviouscodeaddsaprintprocedurethatwillrunontheserverside,

Page 72: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

butdisplayresultsontheclientside.TorunthiscodeontheWindowsScriptingHost,addthefollowingcodetotheendofthesamplecode:

SubPrint(x) WScript.EchoxEndSubMain

Thecodeiscontainedinthefollowingsection:

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''FileSystemObjectSampleCode''Copyright1998MicrosoftCorporation.AllRightsReserved.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

OptionExplicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Regardingcodequality:''1)Thefollowingcodedoesalotofstringmanipulationbyconcatenatingshort'stringstogetherwiththe"&"operator.Sincestringconcatenation'isexpensive,thisisaveryinefficientwaytowritecode.However,itisavery'maintainablewaytowritecode,andisusedherebecausethisprogramperformsextensive'diskoperations,andbecausethediskismuchslowerthanthememoryoperationsrequiredto'concatenatethestrings.Keepinmindthatthisisdemonstrationcode,notproductioncode.''2)"OptionExplicit"isused,becausedeclaredvariableaccessisslightlyfasterthan'undeclaredvariableaccess.Italsopreventsbugsfromcreepingintoyourcode,suchas'whenyoumisspellDriveTypeCDROMasDriveTypeCDORM.''3)Errorhandlingisabsentfromthiscode,tomakethecodemorereadable.Although'precautionshavebeentakentoensurethatthecodewillnoterrorincommoncases,file'systemscanbeunpredictable.Inproductioncode,useOnErrorResumeNextandthe'Errobjecttotrappossibleerrors.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Somehandyglobalvariables'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Page 73: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimTabStopDimNewLine

ConstTestDrive="C"ConstTestFilePath="C:\Test"

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''ConstantsreturnedbyDrive.DriveType'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

ConstDriveTypeRemovable=1ConstDriveTypeFixed=2ConstDriveTypeNetwork=3ConstDriveTypeCDROM=4ConstDriveTypeRAMDisk=5

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''ConstantsreturnedbyFile.Attributes'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

ConstFileAttrNormal=0ConstFileAttrReadOnly=1ConstFileAttrHidden=2ConstFileAttrSystem=4ConstFileAttrVolume=8ConstFileAttrDirectory=16ConstFileAttrArchive=32ConstFileAttrAlias=64ConstFileAttrCompressed=128

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Constantsforopeningfiles'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

ConstOpenFileForReading=1ConstOpenFileForWriting=2ConstOpenFileForAppending=8

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''ShowDriveType'

Page 74: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

'Purpose:''GeneratesastringdescribingthedrivetypeofagivenDriveobject.''Demonstratesthefollowing''-Drive.DriveType'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionShowDriveType(Drive)

DimS SelectCaseDrive.DriveType CaseDriveTypeRemovable S="Removable" CaseDriveTypeFixed S="Fixed" CaseDriveTypeNetwork S="Network" CaseDriveTypeCDROM S="CD-ROM" CaseDriveTypeRAMDisk S="RAMDisk" CaseElse S="Unknown" EndSelect

ShowDriveType=S

EndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''ShowFileAttr''Purpose:''Generatesastringdescribingtheattributesofafileorfolder.''Demonstratesthefollowing''-File.Attributes'-Folder.Attributes'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionShowFileAttr(File)'Filecanbeafileorfolder

Page 75: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimS DimAttr Attr=File.Attributes

IfAttr=0Then ShowFileAttr="Normal" ExitFunction EndIf

IfAttrAndFileAttrDirectoryThenS=S&"Directory" IfAttrAndFileAttrReadOnlyThenS=S&"Read-Only" IfAttrAndFileAttrHiddenThenS=S&"Hidden" IfAttrAndFileAttrSystemThenS=S&"System" IfAttrAndFileAttrVolumeThenS=S&"Volume" IfAttrAndFileAttrArchiveThenS=S&"Archive" IfAttrAndFileAttrAliasThenS=S&"Alias" IfAttrAndFileAttrCompressedThenS=S&"Compressed"

ShowFileAttr=S

EndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''GenerateDriveInformation''Purpose:''Generatesastringdescribingthecurrentstateoftheavailabledrives.''Demonstratesthefollowing''-FileSystemObject.Drives'-IteratingtheDrivescollection'-Drives.Count'-Drive.AvailableSpace'-Drive.DriveLetter'-Drive.DriveType'-Drive.FileSystem'-Drive.FreeSpace'-Drive.IsReady'-Drive.Path'-Drive.SerialNumber'-Drive.ShareName'-Drive.TotalSize'-Drive.VolumeName'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Page 76: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

FunctionGenerateDriveInformation(FSO)

DimDrives DimDrive DimS

SetDrives=FSO.Drives

S="Numberofdrives:"&TabStop&Drives.Count&NewLine&NewLine

'Construct1stlineofreport. S=S&String(2,TabStop)&"Drive" S=S&String(3,TabStop)&"File" S=S&TabStop&"Total" S=S&TabStop&"Free" S=S&TabStop&"Available" S=S&TabStop&"Serial"&NewLine

'Construct2ndlineofreport. S=S&"Letter" S=S&TabStop&"Path" S=S&TabStop&"Type" S=S&TabStop&"Ready?" S=S&TabStop&"Name" S=S&TabStop&"System" S=S&TabStop&"Space" S=S&TabStop&"Space" S=S&TabStop&"Space" S=S&TabStop&"Number"&NewLine

'Separatorline. S=S&String(105,"-")&NewLine

ForEachDriveInDrives

S=S&Drive.DriveLetter S=S&TabStop&Drive.Path S=S&TabStop&ShowDriveType(Drive) S=S&TabStop&Drive.IsReady

IfDrive.IsReadyThen IfDriveTypeNetwork=Drive.DriveTypeThen S=S&TabStop&Drive.ShareName Else S=S&TabStop&Drive.VolumeName EndIf

S=S&TabStop&Drive.FileSystem S=S&TabStop&Drive.TotalSize

Page 77: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

S=S&TabStop&Drive.FreeSpace S=S&TabStop&Drive.AvailableSpace S=S&TabStop&Hex(Drive.SerialNumber)

EndIf

S=S&NewLine

Next GenerateDriveInformation=S

EndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''GenerateFileInformation''Purpose:''Generatesastringdescribingthecurrentstateofafile.''Demonstratesthefollowing''-File.Path'-File.Name'-File.Type'-File.DateCreated'-File.DateLastAccessed'-File.DateLastModified'-File.Size'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionGenerateFileInformation(File)

DimS

S=NewLine&"Path:"&TabStop&File.Path S=S&NewLine&"Name:"&TabStop&File.Name S=S&NewLine&"Type:"&TabStop&File.Type S=S&NewLine&"Attribs:"&TabStop&ShowFileAttr(File) S=S&NewLine&"Created:"&TabStop&File.DateCreated S=S&NewLine&"Accessed:"&TabStop&File.DateLastAccessed S=S&NewLine&"Modified:"&TabStop&File.DateLastModified S=S&NewLine&"Size"&TabStop&File.Size&NewLine

GenerateFileInformation=S

EndFunction

Page 78: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''GenerateFolderInformation''Purpose:''Generatesastringdescribingthecurrentstateofafolder.''Demonstratesthefollowing''-Folder.Path'-Folder.Name'-Folder.DateCreated'-Folder.DateLastAccessed'-Folder.DateLastModified'-Folder.Size'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionGenerateFolderInformation(Folder)

DimS

S="Path:"&TabStop&Folder.Path S=S&NewLine&"Name:"&TabStop&Folder.Name S=S&NewLine&"Attribs:"&TabStop&ShowFileAttr(Folder) S=S&NewLine&"Created:"&TabStop&Folder.DateCreated S=S&NewLine&"Accessed:"&TabStop&Folder.DateLastAccessed S=S&NewLine&"Modified:"&TabStop&Folder.DateLastModified S=S&NewLine&"Size:"&TabStop&Folder.Size&NewLine

GenerateFolderInformation=S

EndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''GenerateAllFolderInformation''Purpose:''Generatesastringdescribingthecurrentstateofa'folderandallfilesandsubfolders.''Demonstratesthefollowing''-Folder.Path'-Folder.SubFolders

Page 79: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

'-Folders.Count'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionGenerateAllFolderInformation(Folder)

DimS DimSubFolders DimSubFolder DimFiles DimFile

S="Folder:"&TabStop&Folder.Path&NewLine&NewLine

SetFiles=Folder.Files

If1=Files.CountThen S=S&"Thereis1file"&NewLine Else S=S&"Thereare"&Files.Count&"files"&NewLine EndIf

IfFiles.Count<>0Then

ForEachFileInFiles S=S&GenerateFileInformation(File) Next

EndIf

SetSubFolders=Folder.SubFolders

If1=SubFolders.CountThen S=S&NewLine&"Thereis1subfolder"&NewLine&NewLine Else S=S&NewLine&"Thereare"&SubFolders.Count&"subfolders"&NewLine&NewLine EndIf

IfSubFolders.Count<>0Then

ForEachSubFolderInSubFolders S=S&GenerateFolderInformation(SubFolder) Next

S=S&NewLine

ForEachSubFolderInSubFolders S=S&GenerateAllFolderInformation(SubFolder) Next

Page 80: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndIf

GenerateAllFolderInformation=S

EndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''GenerateTestInformation''Purpose:''GeneratesastringdescribingthecurrentstateoftheC:\Test'folderandallfilesandsubfolders.''Demonstratesthefollowing''-FileSystemObject.DriveExists'-FileSystemObject.FolderExists'-FileSystemObject.GetFolder'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionGenerateTestInformation(FSO)

DimTestFolder DimS

IfNotFSO.DriveExists(TestDrive)ThenExitFunction IfNotFSO.FolderExists(TestFilePath)ThenExitFunction

SetTestFolder=FSO.GetFolder(TestFilePath)

GenerateTestInformation=GenerateAllFolderInformation(TestFolder)

EndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''DeleteTestDirectory''Purpose:''Cleansupthetestdirectory.''Demonstratesthefollowing''-FileSystemObject.GetFolder'-FileSystemObject.DeleteFile

Page 81: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

'-FileSystemObject.DeleteFolder'-Folder.Delete'-File.Delete'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

SubDeleteTestDirectory(FSO)

DimTestFolder DimSubFolder DimFile 'Twowaystodeleteafile:

FSO.DeleteFile(TestFilePath&"\Beatles\OctopusGarden.txt")

SetFile=FSO.GetFile(TestFilePath&"\Beatles\BathroomWindow.txt") File.Delete

'Twowaystodeleteafolder:

FSO.DeleteFolder(TestFilePath&"\Beatles")

FSO.DeleteFile(TestFilePath&"\ReadMe.txt")

SetTestFolder=FSO.GetFolder(TestFilePath) TestFolder.Delete

EndSub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CreateLyrics''Purpose:''Buildsacoupleoftextfilesinafolder.'''Demonstratesthefollowing''-FileSystemObject.CreateTextFile'-TextStream.WriteLine'-TextStream.Write'-TextStream.WriteBlankLines'-TextStream.Close'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Page 82: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SubCreateLyrics(Folder)

DimTextStream SetTextStream=Folder.CreateTextFile("OctopusGarden.txt") TextStream.Write("Octopus'Garden")'Notethatthisdoesnotaddalinefeedtothefile. TextStream.WriteLine("(byRingoStarr)") TextStream.WriteBlankLines(1) TextStream.WriteLine("I'dliketobeundertheseainanoctopus'gardenintheshade,") TextStream.WriteLine("He'dletusin,knowswherewe'vebeen--inhisoctopus'gardenintheshade.") TextStream.WriteBlankLines(2) TextStream.Close

SetTextStream=Folder.CreateTextFile("BathroomWindow.txt") TextStream.WriteLine("SheCameInThroughTheBathroomWindow(byLennon/McCartney)") TextStream.WriteLine("") TextStream.WriteLine("Shecameinthroughthebathroomwindowprotectedbyasilverspoon") TextStream.WriteLine("Butnowshesucksherthumbandwandersbythebanksofherownlagoon") TextStream.WriteBlankLines(2) TextStream.Close

EndSub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''GetLyrics''Purpose:''Displaysthecontentsofthelyricsfiles.'''Demonstratesthefollowing''-FileSystemObject.OpenTextFile'-FileSystemObject.GetFile'-TextStream.ReadAll'-TextStream.Close'-File.OpenAsTextStream'-TextStream.AtEndOfStream'-TextStream.ReadLine'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionGetLyrics(FSO)

DimTextStream

Page 83: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimS DimFile

'Thereareseveralwaystoopenatextfile,andseveralwaystoreadthe 'dataoutofafile.Here'stwowaystodoeach:

SetTextStream=FSO.OpenTextFile(TestFilePath&"\Beatles\OctopusGarden.txt",OpenFileForReading) S=TextStream.ReadAll&NewLine&NewLine TextStream.Close

SetFile=FSO.GetFile(TestFilePath&"\Beatles\BathroomWindow.txt") SetTextStream=File.OpenAsTextStream(OpenFileForReading) Do WhileNotTextStream.AtEndOfStream S=S&TextStream.ReadLine&NewLine Loop TextStream.Close

GetLyrics=SEndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''BuildTestDirectory''Purpose:''BuildsadirectoryhierarchytodemonstratetheFileSystemObject.''We'llbuildahierarchyinthisorder:''C:\Test'C:\Test\ReadMe.txt'C:\Test\Beatles'C:\Test\Beatles\OctopusGarden.txt'C:\Test\Beatles\BathroomWindow.txt'''Demonstratesthefollowing''-FileSystemObject.DriveExists'-FileSystemObject.FolderExists'-FileSystemObject.CreateFolder'-FileSystemObject.CreateTextFile'-Folders.Add'-Folder.CreateTextFile'-TextStream.WriteLine'-TextStream.Close

Page 84: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

FunctionBuildTestDirectory(FSO) DimTestFolder DimSubFolders DimSubFolder DimTextStream

'Bailoutif(a)thedrivedoesnotexist,orif(b)thedirectorybeingbuilt 'alreadyexists.

IfNotFSO.DriveExists(TestDrive)Then BuildTestDirectory=False ExitFunction EndIf

IfFSO.FolderExists(TestFilePath)Then BuildTestDirectory=False ExitFunction EndIf

SetTestFolder=FSO.CreateFolder(TestFilePath)

SetTextStream=FSO.CreateTextFile(TestFilePath&"\ReadMe.txt") TextStream.WriteLine("Mysonglyricscollection") TextStream.Close

SetSubFolders=TestFolder.SubFolders

SetSubFolder=SubFolders.Add("Beatles")

CreateLyricsSubFolder

BuildTestDirectory=True

EndFunction

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Themainroutine''First,itcreatesatestdirectory,alongwithsomesubfoldersandfiles.'Then,itdumpssomeinformationabouttheavailablediskdrivesand'aboutthetestdirectory,andthencleanseverythingupagain.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Page 85: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SubMain

DimFSO

'Setupglobaldata. TabStop=Chr(9) NewLine=Chr(10) SetFSO=CreateObject("Scripting.FileSystemObject")

IfNotBuildTestDirectory(FSO)Then Print"Testdirectoryalreadyexistsorcannotbecreated.Cannotcontinue." ExitSub EndIf PrintGenerateDriveInformation(FSO)&NewLine&NewLine

PrintGenerateTestInformation(FSO)&NewLine&NewLine

PrintGetLyrics(FSO)&NewLine&NewLine

DeleteTestDirectory(FSO)EndSub

Page 86: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptFeatures LanguageReference

Category Keywords

Arrayhandling

ArrayDim,Private,Public,ReDimIsArrayEraseLBound,UBound

Assignments SetComments Commentsusing'orRem

Constants/Literals

EmptyNothingNullTrue,False

Controlflow

Do...LoopFor...NextForEach...NextIf...Then...ElseSelectCaseWhile...WendWith

Conversions

AbsAsc,AscB,AscWChr,ChrB,ChrWCBool,CByteCCur,CDateCDbl,CIntCLng,CSng,CStrDateSerial,DateValueHex,OctFix,IntSgnTimeSerial,TimeValue

Dates/Times

Date,TimeDateAdd,DateDiff,DatePartDateSerial,DateValueDay,Month,MonthNameWeekday,WeekdayName,YearHour,Minute,SecondNowTimeSerial,TimeValueClassConst

Page 87: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Declarations Dim,Private,Public,ReDimFunction,SubPropertyGet,PropertyLet,PropertySet

ErrorHandling OnErrorErr

Expressions

EvalExecuteRegExpReplaceTest

FormattingStrings

FormatCurrencyFormatDateTimeFormatNumberFormatPercent

Input/OutputInputBoxLoadPictureMsgBox

Literals

EmptyFalseNothingNullTrue

MathAtn,Cos,Sin,TanExp,Log,SqrRandomize,Rnd

MiscellaneousEvalFunctionExecuteStatementRGBFunction

Objects

CreateObjectErrObjectGetObjectRegExp

Operators

Addition(+),Subtraction(-)Exponentiation(^)Modulusarithmetic(Mod)Multiplication(*),Division(/)IntegerDivision(\)Negation(-)Stringconcatenation(&)Equality(=),Inequality(<>)LessThan(<),LessThanorEqualTo(<=)GreaterThan(>)GreaterThanorEqualTo(>=)IsAnd,Or,XorEqv,Imp

Options OptionExplicitCallFunction,Sub

Page 88: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Procedures PropertyGet,PropertyLet,PropertySet

RoundingAbsInt,Fix,RoundSgn

ScriptEngineID

ScriptEngineScriptEngineBuildVersionScriptEngineMajorVersionScriptEngineMinorVersion

Strings

Asc,AscB,AscWChr,ChrB,ChrWFilter,InStr,InStrBInStrRevJoinLen,LenBLCase,UCaseLeft,LeftBMid,MidBRight,RightBReplaceSpaceSplitStrCompStringStrReverseLTrim,RTrim,Trim

Variants

IsArrayIsDateIsEmptyIsNullIsNumericIsObjectTypeNameVarType

Page 89: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionVisualBasicforApplicationsFeaturesnotinVBScript

LanguageReference

Category OmittedFeature/Keyword

ArrayHandling OptionBaseDeclaringarrayswithlowerbound<>0

CollectionAdd,Count,Item,RemoveAccesstocollectionsusing!character(e.g.,MyCollection!Foo)

ConditionalCompilation

#Const#If...Then...#Else

ControlFlow

DoEventsGoSub...Return,GoToOnErrorGoToOn...GoSub,On...GoToLinenumbers,Linelabels

Conversion CVar,CVDateStr,Val

DataTypes AllintrinsicdatatypesexceptVariantType...EndType

Date/Time Datestatement,Timestatement

DDE LinkExecute,LinkPoke,LinkRequest,LinkSendDebug.Print

Page 90: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Debugging End,Stop

Declaration

Declare(fordeclaringDLLs)OptionalParamArrayStatic

ErrorHandlingErlErrorResume,ResumeNext

FileInput/Output AlltraditionalBasicfileI/OFinancial AllfinancialfunctionsObjectManipulation TypeOf

Objects ClipboardCollection

Operators Like

Options

DeftypeOptionBaseOptionCompareOptionPrivateModule

SelectCase

ExpressionscontainingIskeywordoranycomparisonoperatorsExpressionscontainingarangeofvaluesusingtheTokeyword.

Strings

Fixed-lengthstringsLSet,RSetMidStatementStrConv

UsingObjects Collectionaccessusing!

Page 91: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptFeaturesnotinVisualBasicforApplications

LanguageReference

Category Feature/KeywordDeclarations Class

Miscellaneous EvalExecute

Objects RegExp

ScriptEngineIdentification

ScriptEngineScriptEngineBuildVersionScriptEngineMajorVersionScriptEngineMinorVersion

Page 92: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MicrosoftScriptingRun-TimeLibraryReferenceFeatures

LanguageReference

Category Feature/Keyword

CollectionsDrivesFilesFolders

DataStorage Dictionary

Dictionary

AddExistsItems,KeysRemove,RemoveAllCountItem,Key

FileSystem

DriveFileFileSystemObjectFolderTextStreamBuildPathCopyFile,CopyFolderCreateFolder,CreateTextFileDeleteFile,DeleteFolderDriveExists,FileExists,FolderExistsGetAbsolutePathName,GetBaseName

Page 93: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

FileSystemObject GetDrive,GetDriveNameGetFile,GetExtensionNameGetFileNameGetFolder,GetParentFolderNameGetSpecialFolderGetTempNameMoveFile,MoveFolderOpenTextFileDrives

Drive,Drives

AvailableSpaceCountDriveLetterDriveTypeFileSystemFreeSpaceIsReadyItemRootFolderSerialNumberShareNameTotalSizeVolumeName

File,FilesFolder,Folders

AddAttributesCopy,Delete,MoveCountOpenAsTextStreamDateCreated,DateLastAccessed,DateLastModifiedDriveItemParentFolderName,PathShortName,ShortPathSizeCloseRead,ReadAll,ReadLine

Page 94: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

TextStream Skip,SkipLineWrite,WriteBlankLines,WriteLineAtEndOfLine,AtEndOfStreamColumn,Line

Page 95: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAbsFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnstheabsolutevalueofanumber.

Syntax

Abs(number)

Thenumberargumentcanbeanyvalidnumericexpression.IfnumbercontainsNull,Nullisreturned;ifitisanuninitializedvariable,zeroisreturned.

Remarks

Theabsolutevalueofanumberisitsunsignedmagnitude.Forexample,Abs(-1)andAbs(1)bothreturn1.

ThefollowingexampleusestheAbsfunctiontocomputetheabsolutevalueofanumber:

DimMyNumberMyNumber=Abs(50.3)'Returns50.3.MyNumber=Abs(-50.3)'Returns50.3.

Page 96: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition+Operator

ScriptingRun-TimeReferenceVersion1

SeeAlso

Description

Sumstwonumbers.

Syntax

result=expression1+expression2

The+operatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.expression1 Anyexpression.expression2 Anyexpression.

Remarks

Althoughyoucanalsousethe+operatortoconcatenatetwocharacterstrings,youshouldusethe&operatorforconcatenationtoeliminateambiguityandprovideself-documentingcode.

Whenyouusethe+operator,youmaynotbeabletodeterminewhetheradditionorstringconcatenationwilloccur.

Theunderlyingsubtypeoftheexpressionsdeterminesthebehaviorofthe+operatorinthefollowingway:

If ThenBothexpressionsarenumeric Add.Bothexpressionsarestrings Concatenate.

Add.

Page 97: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Oneexpressionisnumericandtheotherisastring

IfoneorbothexpressionsareNullexpressions,resultisNull.IfbothexpressionsareEmpty,resultisanIntegersubtype.However,ifonlyoneexpressionisEmpty,theotherexpressionisreturnedunchangedasresult.

Page 98: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAndOperator

LanguageReferenceVersion1

SeeAlso

Description

Performsalogicalconjunctionontwoexpressions.

Syntax

result=expression1Andexpression2

TheAndoperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.expression1 Anyexpression.expression2 Anyexpression.

Remarks

If,andonlyif,bothexpressionsevaluatetoTrue,resultisTrue.IfeitherexpressionevaluatestoFalse,resultisFalse.Thefollowingtableillustrateshowresultisdetermined:

Ifexpression1is Andexpression2is TheresultisTrue True TrueTrue False FalseTrue Null NullFalse True FalseFalse False FalseFalse Null False

Page 99: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Null True NullNull False FalseNull Null Null

TheAndoperatoralsoperformsabitwisecomparisonofidenticallypositionedbitsintwonumericexpressionsandsetsthecorrespondingbitinresultaccordingtothefollowingtable:

Ifbitinexpression1is Andbitinexpression2is Theresultis0 0 00 1 01 0 01 1 1

Page 100: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionArrayFunction

LanguageReferenceVersion2

SeeAlso

Description

ReturnsaVariantcontaininganarray.

Syntax

Array(arglist)

Therequiredarglistargumentisacomma-delimitedlistofvaluesthatareassignedtotheelementsofanarraycontainedwiththeVariant.Ifnoargumentsarespecified,anarrayofzerolengthiscreated.

Remarks

Thenotationusedtorefertoanelementofanarrayconsistsofthevariablenamefollowedbyparenthesescontaininganindexnumberindicatingthedesiredelement.Inthefollowingexample,thefirststatementcreatesavariablenamedA.ThesecondstatementassignsanarraytovariableA.Thelaststatementassignsthevaluecontainedinthesecondarrayelementtoanothervariable.

DimAA=Array(10,20,30)B=A(2)'Bisnow30.

Page 101: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NoteVersionVersionAvariablethatisnotdeclaredasanarraycanstillcontainanarray.AlthoughaVariantvariablecontaininganarrayisconceptuallydifferentfromanarrayvariablecontainingVariantelements,thearrayelementsareaccessedinthesameway.

Page 102: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAscFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnstheANSIcharactercodecorrespondingtothefirstletterinastring.

Syntax

Asc(string)

Thestringargumentisanyvalidstringexpression.Ifthestringcontainsnocharacters,arun-timeerroroccurs.

Remarks

Inthefollowingexample,AscreturnstheANSIcharactercodeofthefirstletterofeachstring:

DimMyNumberMyNumber=Asc("A")'Returns65.MyNumber=Asc("a")'Returns97.MyNumber=Asc("Apple")'Returns65.

NoteTheAscBfunctionisusedwithbytedatacontainedinastring.Insteadofreturningthecharactercodeforthefirstcharacter,AscBreturnsthefirstbyte.AscWisprovidedfor32-

Page 103: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

bitplatformsthatuseUnicodecharacters.ItreturnstheUnicode(wide)charactercode,therebyavoidingtheconversionfromUnicodetoANSI.

Page 104: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition=Operator

LanguageReferenceVersion1

SeeAlso

Description

Assignsavaluetoavariableorproperty.

Syntax

variable=value

The=operatorsyntaxhastheseparts:

Part Descriptionvariable Anyvariableoranywritableproperty.value Anynumericorstringliteral,constant,orexpression.

Remarks

Thenameontheleftsideoftheequalsigncanbeasimplescalarvariableoranelementofanarray.Propertiesontheleftsideoftheequalsigncanonlybethosepropertiesthatarewritableatruntime.

Page 105: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAtnFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthearctangentofanumber.

Syntax

Atn(number)

Thenumberargumentcanbeanyvalidnumericexpression.

Remarks

TheAtnfunctiontakestheratiooftwosidesofarighttriangle(number)andreturnsthecorrespondingangleinradians.Theratioisthelengthofthesideoppositetheangledividedbythelengthofthesideadjacenttotheangle.Therangeoftheresultis-pi/2topi/2radians.

Toconvertdegreestoradians,multiplydegreesbypi/180.Toconvertradianstodegrees,multiplyradiansby180/pi.

ThefollowingexampleusesAtntocalculatethevalueofpi:

Dimpipi=4*Atn(1)'Calculatethevalueofpi.

NoteAtnistheinversetrigonometricfunctionofTan,which

Page 106: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

takesanangleasitsargumentandreturnstheratiooftwosidesofarighttriangle.DonotconfuseAtnwiththecotangent,whichisthesimpleinverseofatangent(1/tangent).

Page 107: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCallStatement

LanguageReferenceVersion1

Description

TransferscontroltoaSuborFunctionprocedure.

Syntax

[Call]name[argumentlist]

TheCallstatementsyntaxhastheseparts:

Part Description

Call

Optionalkeyword.Ifspecified,youmustencloseargumentlistinparentheses.Forexample:

CallMyProc(0)

nameRequired.Nameoftheproceduretocall.argumentlistOptional.Comma-delimitedlistofvariables,arrays,orexpressionstopasstotheprocedure.

Remarks

YouarenotrequiredtousetheCallkeywordwhencallingaprocedure.However,ifyouusetheCallkeywordtocallaprocedurethatrequiresarguments,argumentlistmustbeenclosedinparentheses.IfyouomittheCallkeyword,youalsomustomittheparenthesesaroundargumentlist.IfyouuseeitherCallsyntaxtocallanyintrinsicoruser-definedfunction,thefunction'sreturnvalueisdiscarded.

Page 108: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

CallMyFunction("HelloWorld")

FunctionMyFunction(text) MsgBoxtextEndFunction

Page 109: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCBoolFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeBoolean.

Syntax

CBool(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ifexpressioniszero,Falseisreturned;otherwise,Trueisreturned.Ifexpressioncan'tbeinterpretedasanumericvalue,arun-timeerroroccurs.

ThefollowingexampleusestheCBoolfunctiontoconvertanexpressiontoaBoolean.Iftheexpressionevaluatestoanonzerovalue,CBoolreturnsTrue;otherwise,itreturnsFalse.

DimA,B,CheckA=5:B=5'Initializevariables.Check=CBool(A=B)'CheckcontainsTrue.A=0'Definevariable.Check=CBool(A)'CheckcontainsFalse.

Page 110: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCByteFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeByte.

Syntax

CByte(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ingeneral,youcandocumentyourcodeusingthesubtypeconversionfunctionstoshowthattheresultofsomeoperationshouldbeexpressedasaparticulardatatyperatherthanthedefaultdatatype.Forexample,useCBytetoforcebytearithmeticincaseswherecurrency,single-precision,double-precision,orintegerarithmeticnormallywouldoccur.

UsetheCBytefunctiontoprovideinternationallyawareconversionsfromanyotherdatatypetoaBytesubtype.Forexample,differentdecimalseparatorsareproperlyrecognizeddependingonthelocalesettingofyoursystem,asaredifferentthousandseparators.

IfexpressionliesoutsidetheacceptablerangefortheBytesubtype,anerroroccurs.ThefollowingexampleusestheCBytefunctiontoconvertanexpressiontoabyte:

DimMyDouble,MyByteMyDouble=125.5678'MyDoubleisaDouble.MyByte=CByte(MyDouble)'MyBytecontains126.

Page 111: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCCurFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeCurrency.

Syntax

CCur(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ingeneral,youcandocumentyourcodeusingthesubtypeconversionfunctionstoshowthattheresultofsomeoperationshouldbeexpressedasaparticulardatatyperatherthanthedefaultdatatype.Forexample,useCCurtoforcecurrencyarithmeticincaseswhereintegerarithmeticnormallywouldoccur.

YoushouldusetheCCurfunctiontoprovideinternationallyawareconversionsfromanyotherdatatypetoaCurrencysubtype.Forexample,differentdecimalseparatorsandthousandsseparatorsareproperlyrecognizeddependingonthelocalesettingofyoursystem.

ThefollowingexampleusestheCCurfunctiontoconvertanexpressiontoaCurrency:

DimMyDouble,MyCurrMyDouble=543.214588'MyDoubleisaDouble.MyCurr=CCur(MyDouble*2)'ConvertresultofMyDouble*2(1086.429176)'toaCurrency(1086.4292).

Page 112: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCDateFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeDate.

Syntax

CDate(date)

Thedateargumentisanyvaliddateexpression.

Remarks

UsetheIsDatefunctiontodetermineifdatecanbeconvertedtoadateortime.CDaterecognizesdateliteralsandtimeliteralsaswellassomenumbersthatfallwithintherangeofacceptabledates.Whenconvertinganumbertoadate,thewholenumberportionisconvertedtoadate.Anyfractionalpartofthenumberisconvertedtoatimeofday,startingatmidnight.

CDaterecognizesdateformatsaccordingtothelocalesettingofyoursystem.Thecorrectorderofday,month,andyearmaynotbedeterminedifitisprovidedinaformatotherthanoneoftherecognizeddatesettings.Inaddition,alongdateformatisnotrecognizedifitalsocontainstheday-of-the-weekstring.

ThefollowingexampleusestheCDatefunctiontoconvertastringtoa

Page 113: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

date.Ingeneral,hardcodingdatesandtimesasstrings(asshowninthisexample)isnotrecommended.Usedateandtimeliterals(suchas#10/19/1962#,#4:45:23PM#)instead.

MyDate="October19,1962" 'Definedate.MyShortDate=CDate(MyDate) 'ConverttoDatedatatype.MyTime="4:35:47PM" 'Definetime.MyShortTime=CDate(MyTime) 'ConverttoDatedatatype.

Page 114: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCDblFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeDouble.

Syntax

CDbl(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ingeneral,youcandocumentyourcodeusingthesubtypeconversionfunctionstoshowthattheresultofsomeoperationshouldbeexpressedasaparticulardatatyperatherthanthedefaultdatatype.Forexample,useCDblorCSngtoforcedouble-precisionorsingle-precisionarithmeticincaseswherecurrencyorintegerarithmeticnormallywouldoccur.

UsetheCDblfunctiontoprovideinternationallyawareconversionsfromanyotherdatatypetoaDoublesubtype.Forexample,differentdecimalseparatorsandthousandsseparatorsareproperlyrecognizeddependingonthelocalesettingofyoursystem.

ThisexampleusestheCDblfunctiontoconvertanexpressiontoaDouble.

DimMyCurr,MyDouble

Page 115: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyCurr=CCur(234.456784)'MyCurrisaCurrency(234.4567).MyDouble=CDbl(MyCurr*8.2*0.01)'ConvertresulttoaDouble(19.2254576).

Page 116: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionChrFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsthecharacterassociatedwiththespecifiedANSIcharactercode.

Syntax

Chr(charcode)

Thecharcodeargumentisanumberthatidentifiesacharacter.

Remarks

Numbersfrom0to31arethesameasstandard,nonprintableASCIIcodes.Forexample,Chr(10)returnsalinefeedcharacter.

ThefollowingexampleusestheChrfunctiontoreturnthecharacterassociatedwiththespecifiedcharactercode:

DimMyCharMyChar=Chr(65)'ReturnsA.MyChar=Chr(97)'Returnsa.MyChar=Chr(62)'Returns>.MyChar=Chr(37)'Returns%.

Page 117: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NoteTheChrBfunctionisusedwithbytedatacontainedinastring.Insteadofreturningacharacter,whichmaybeoneortwobytes,ChrBalwaysreturnsasinglebyte.ChrWisprovidedfor32-bitplatformsthatuseUnicodecharacters.ItsargumentisaUnicode(wide)charactercode,therebyavoidingtheconversionfromANSItoUnicode.

Page 118: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCIntFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeInteger.

Syntax

CInt(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ingeneral,youcandocumentyourcodeusingthesubtypeconversionfunctionstoshowthattheresultofsomeoperationshouldbeexpressedasaparticulardatatyperatherthanthedefaultdatatype.Forexample,useCIntorCLngtoforceintegerarithmeticincaseswherecurrency,single-precision,ordouble-precisionarithmeticnormallywouldoccur.

UsetheCIntfunctiontoprovideinternationallyawareconversionsfromanyotherdatatypetoanIntegersubtype.Forexample,differentdecimalseparatorsareproperlyrecognizeddependingonthelocalesettingofyoursystem,asaredifferentthousandseparators.

IfexpressionliesoutsidetheacceptablerangefortheIntegersubtype,anerroroccurs.

ThefollowingexampleusestheCIntfunctiontoconvertavaluetoan

Page 119: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Integer:

DimMyDouble,MyIntMyDouble=2345.5678'MyDoubleisaDouble.MyInt=CInt(MyDouble)'MyIntcontains2346.

NoteCIntdiffersfromtheFixandIntfunctions,whichtruncate,ratherthanround,thefractionalpartofanumber.Whenthefractionalpartisexactly0.5,theCIntfunctionalwaysroundsittothenearestevennumber.Forexample,0.5roundsto0,and1.5roundsto2.

Page 120: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClassObject

LanguageReferenceVersion5

SeeAlsoEvents

Description

TheobjectcreatedusingtheClassstatement.Providesaccesstotheeventsoftheclass.

Remarks

YoucannotexplicitlydeclareavariabletobeoftypeClass.IntheVBScriptcontext,theterm"classobject"referstoanyobjectdefinedusingtheVBScriptClassstatement.

OnceyouhavecreatedaclassdefinitionusingtheClassstatement,youcancreateaninstanceoftheclassusingthefollowingform:

DimXSetX=Newclassname

BecauseVBScriptisalate-boundlanguage,youcannotdoanyofthefollowing:

DimXasNewclassname

or

DimX

Page 121: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

X=Newclassname

or

SetX=NewScripting.FileSystemObject

Page 122: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClassStatement

LanguageReferenceVersion5

SeeAlso

Description

Declaresthenameofaclass,aswellasadefinitionofthevariables,properties,andmethodsthatcomprisetheclass.

Syntax

ClassnamestatementsEndClass

TheClassstatementsyntaxhastheseparts:

Part Descriptionname Required.NameoftheClass;followsstandardvariablenamingconventions.

statements Required.Oneormorestatementsthatdefinethevariables,properties,andmethodsoftheClass.

Remarks

WithinaClassblock,membersaredeclaredaseitherPrivateorPublicusingtheappropriatedeclarationstatements.AnythingdeclaredasPrivateisvisibleonlywithintheClassblock.AnythingdeclaredasPublicisvisiblewithintheClassblock,aswellasbycodeoutsidetheClassblock.AnythingnotexplicitlydeclaredaseitherPrivateorPublicisPublicbydefault.

Page 123: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Procedures(eitherSuborFunction)declaredPublicwithintheclassblockbecomemethodsoftheclass.Publicvariablesserveaspropertiesoftheclass,asdopropertiesexplicitlydeclaredusingPropertyGet,PropertyLet,andPropertySet.DefaultpropertiesandmethodsfortheclassarespecifiedintheirdeclarationsusingtheDefaultkeyword.Seetheindividualdeclarationstatementtopicsforinformationonhowthiskeywordisused.

Page 124: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClearMethod

LanguageReferenceVersion1

SeeAlsoAppliesto

Description

ClearsallpropertysettingsoftheErrobject.

Syntax

object.Clear

TheobjectisalwaystheErrobject.

Remarks

UseCleartoexplicitlycleartheErrobjectafteranerrorhasbeenhandled.Thisisnecessary,forexample,whenyouusedeferrederrorhandlingwithOnErrorResumeNext.VBScriptcallstheClearmethodautomaticallywheneveranyofthefollowingstatementsisexecuted:

OnErrorResumeNext

ExitSub

ExitFunction

ThefollowingexampleillustratesuseoftheClearmethod:

OnErrorResumeNextErr.Raise6'Raiseanoverflowerror.MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)Err.Clear'Cleartheerror.

Page 125: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCLngFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeLong.

Syntax

CLng(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ingeneral,youcandocumentyourcodeusingthesubtypeconversionfunctionstoshowthattheresultofsomeoperationshouldbeexpressedasaparticulardatatyperatherthanthedefaultdatatype.Forexample,useCIntorCLngtoforceintegerarithmeticincaseswherecurrency,single-precision,ordouble-precisionarithmeticnormallywouldoccur.

UsetheCLngfunctiontoprovideinternationallyawareconversionsfromanyotherdatatypetoaLongsubtype.Forexample,differentdecimalseparatorsareproperlyrecognizeddependingonthelocalesettingofyoursystem,asaredifferentthousandseparators.

IfexpressionliesoutsidetheacceptablerangefortheLongsubtype,anerroroccurs.

ThefollowingexampleusestheCLngfunctiontoconvertavaluetoa

Page 126: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Long:

DimMyVal1,MyVal2,MyLong1,MyLong2MyVal1=25427.45:MyVal2=25427.55 'MyVal1,MyVal2areDoubles.MyLong1=CLng(MyVal1) 'MyLong1contains25427.MyLong2=CLng(MyVal2) 'MyLong2contains25428.

NoteCLngdiffersfromtheFixandIntfunctions,whichtruncate,ratherthanround,thefractionalpartofanumber.Whenthefractionalpartisexactly0.5,theCLngfunctionalwaysroundsittothenearestevennumber.Forexample,0.5roundsto0,and1.5roundsto2.

Page 127: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ComparisonConstants

LanguageReferenceVersion2

SeeAlso

SincetheseconstantsarebuiltintoVBScript,youdon'thavetodefinethembeforeusingthem.Usethemanywhereinyourcodetorepresentthevaluesshownforeach.

Constant Value DescriptionvbBinaryCompare 0 Performabinarycomparison.vbTextCompare 1 Performatextualcomparison.

Page 128: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition&Operator

LanguageReferenceVersion1

SeeAlso

Description

Forcesstringconcatenationoftwoexpressions.

Syntax

result=expression1&expression2

The&operatorsyntaxhastheseparts:

Part Descriptionresult Anyvariable.expression1 Anyexpression.expression2 Anyexpression.

Remarks

Wheneveranexpressionisnotastring,itisconvertedtoaStringsubtype.IfbothexpressionsareNull,resultisalsoNull.However,ifonlyoneexpressionisNull,thatexpressionistreatedasazero-lengthstring("")whenconcatenatedwiththeotherexpression.AnyexpressionthatisEmptyisalsotreatedasazero-lengthstring.

Page 129: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionConstStatement

LanguageReferenceVersion2

SeeAlso

Description

Declaresconstantsforuseinplaceofliteralvalues.

Syntax

[Public|Private]Constconstname=expression

TheConststatementsyntaxhastheseparts:

Part Description

PublicOptional.Keywordusedatscriptleveltodeclareconstantsthatareavailabletoallproceduresinallscripts.Notallowedinprocedures.

Private

Optional.Keywordusedatscriptleveltodeclareconstantsthatareavailableonlywithinthescriptwherethedeclarationismade.Notallowedinprocedures.

constname Required.Nameoftheconstant;followsstandardvariablenamingconventions.

expressionRequired.Literalorotherconstant,oranycombinationthatincludesallarithmeticorlogicaloperatorsexceptIs.

Remarks

Constantsarepublicbydefault.Withinprocedures,constantsarealwaysprivate;theirvisibilitycan'tbechanged.Withinascript,thedefaultvisibilityofascript-levelconstantcanbechangedusingthePrivate

Page 130: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

keyword.

Tocombineseveralconstantdeclarationsonthesameline,separateeachconstantassignmentwithacomma.Whenconstantdeclarationsarecombinedinthisway,thePublicorPrivatekeyword,ifused,appliestoallofthem.

Youcan'tusevariables,user-definedfunctions,orintrinsicVBScriptfunctions(suchasChr)inconstantdeclarations.Bydefinition,theycan'tbeconstants.Youalsocan'tcreateaconstantfromanyexpressionthatinvolvesanoperator,thatis,onlysimpleconstantsareallowed.ConstantsdeclaredinaSuborFunctionprocedurearelocaltothatprocedure.Aconstantdeclaredoutsideaprocedureisdefinedthroughoutthescriptinwhichitisdeclared.Youcanuseconstantsanywhereyoucanuseanexpression.ThefollowingcodeillustratestheuseoftheConststatement:

ConstMyVar=459 'ConstantsarePublicbydefault.PrivateConstMyString="HELP" 'DeclarePrivateconstant.ConstMyStr="Hello",MyNumber=3.4567 'Declaremultipleconstantsonsameline.

NoteConstantscanmakeyourscriptsself-documentingandeasytomodify.Unlikevariables,constantscan'tbeinadvertentlychangedwhileyourscriptisrunning.

Page 131: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCosFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthecosineofanangle.

Syntax

Cos(number)

Thenumberargumentcanbeanyvalidnumericexpressionthatexpressesanangleinradians.

Remarks

TheCosfunctiontakesanangleandreturnstheratiooftwosidesofarighttriangle.Theratioisthelengthofthesideadjacenttotheangledividedbythelengthofthehypotenuse.Theresultliesintherange-1to1.

Toconvertdegreestoradians,multiplydegreesbypi/180.Toconvertradianstodegrees,multiplyradiansby180/pi.

ThefollowingexampleusestheCosfunctiontoreturnthecosineofanangle:

DimMyAngle,MySecantMyAngle=1.3'Defineangleinradians.MySecant=1/Cos(MyAngle)'Calculatesecant.

Page 132: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateObjectFunction

LanguageReferenceVersion2

SeeAlso

Description

CreatesandreturnsareferencetoanAutomationobject.

Syntax

CreateObject(servername.typename[,location])

TheCreateObjectfunctionsyntaxhastheseparts:

Part Description

servername Required.Thenameoftheapplicationprovidingtheobject.typename Required.Thetypeorclassoftheobjecttocreate.

locationOptional.Thenameofthenetworkserverwheretheobjectistobecreated.Thisfeatureisavailableinversion5.1orlater.

Remarks

Automationserversprovideatleastonetypeofobject.Forexample,aword-processingapplicationmayprovideanapplicationobject,adocumentobject,andatoolbarobject.

TocreateanAutomationobject,assigntheobjectreturnedbyCreateObjecttoanobjectvariable:

DimExcelSheetSetExcelSheet=CreateObject("Excel.Sheet")

Page 133: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Thiscodestartstheapplicationthatcreatestheobject(inthiscase,aMicrosoftExcelspreadsheet).Onceanobjectiscreated,refertoitincodeusingtheobjectvariableyoudefined.Asshowninthefollowingexample,youcanaccesspropertiesandmethodsofthenewobjectusingtheobjectvariable,ExcelSheet,andotherExcelobjects,includingtheApplicationobjectandtheActiveSheet.Cellscollection:

'MakeExcelvisiblethroughtheApplicationobject.ExcelSheet.Application.Visible=True'Placesometextinthefirstcellofthesheet.ExcelSheet.ActiveSheet.Cells(1,1).Value="ThisiscolumnA,row1"'Savethesheet.ExcelSheet.SaveAs"C:\DOCS\TEST.XLS"'CloseExcelwiththeQuitmethodontheApplicationobject.ExcelSheet.Application.Quit'Releasetheobjectvariable.SetExcelSheet=Nothing

CreatinganobjectonaremoteservercanonlybeaccomplishedwhenInternetsecurityisturnedoff.YoucancreateanobjectonaremotenetworkedcomputerbypassingthenameofthecomputertotheservernameargumentofCreateObject.Thatnameisthesameasthemachinenameportionofasharename.Foranetworksharenamed"\\myserver\public",theservernameis"myserver".Inaddition,youcanspecifyservernameusingDNSformatoranIPaddress.

ThefollowingcodereturnstheversionnumberofaninstanceofExcelrunningonaremotenetworkcomputernamed"myserver":

FunctionGetVersionDimXLAppSetXLApp=CreateObject("Excel.Application","MyServer")

Page 134: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

GetVersion=XLApp.VersionEndFunction

Anerroroccursifthespecifiedremoteserverdoesnotexistorcannotbefound.

Page 135: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCSngFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeSingle.

Syntax

CSng(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ingeneral,youcandocumentyourcodeusingthedatatypeconversionfunctionstoshowthattheresultofsomeoperationshouldbeexpressedasaparticulardatatyperatherthanthedefaultdatatype.Forexample,useCDblorCSngtoforcedouble-precisionorsingle-precisionarithmeticincaseswherecurrencyorintegerarithmeticnormallywouldoccur.

UsetheCSngfunctiontoprovideinternationallyawareconversionsfromanyotherdatatypetoaSinglesubtype.Forexample,differentdecimalseparatorsareproperlyrecognizeddependingonthelocalesettingofyoursystem,asaredifferentthousandseparators.

IfexpressionliesoutsidetheacceptablerangefortheSinglesubtype,anerroroccurs.

ThefollowingexampleusestheCSngfunctiontoconvertavaluetoa

Page 136: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Single:

DimMyDouble1,MyDouble2,MySingle1,MySingle2 'MyDouble1,MyDouble2areDoubles.MyDouble1=75.3421115:MyDouble2=75.3421555MySingle1=CSng(MyDouble1) 'MySingle1contains75.34211.MySingle2=CSng(MyDouble2) 'MySingle2contains75.34216.

Page 137: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCStrFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsanexpressionthathasbeenconvertedtoaVariantofsubtypeString.

Syntax

CStr(expression)

Theexpressionargumentisanyvalidexpression.

Remarks

Ingeneral,youcandocumentyourcodeusingthedatatypeconversionfunctionstoshowthattheresultofsomeoperationshouldbeexpressedasaparticulardatatyperatherthanthedefaultdatatype.Forexample,useCStrtoforcetheresulttobeexpressedasaString.

YoushouldusetheCStrfunctioninsteadofStrtoprovideinternationallyawareconversionsfromanyotherdatatypetoaStringsubtype.Forexample,differentdecimalseparatorsareproperlyrecognizeddependingonthelocalesettingofyoursystem.

Thedatainexpressiondetermineswhatisreturnedaccordingtothefollowingtable:

If

Page 138: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

expressionis

CStrreturns

Boolean AStringcontainingTrueorFalse.

Date AStringcontainingadateintheshort-dateformatofyoursystem.

Null Arun-timeerror.Empty Azero-lengthString("").

Error AStringcontainingthewordErrorfollowedbytheerrornumber.

Othernumeric AStringcontainingthenumber.

ThefollowingexampleusestheCStrfunctiontoconvertanumericvaluetoaString:

DimMyDouble,MyStringMyDouble=437.324'MyDoubleisaDouble.MyString=CStr(MyDouble)'MyStringcontains"437.324".

Page 139: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDateandTimeConstants

LanguageReferenceVersion2

SeeAlso

SincetheseconstantsarebuiltintoVBScript,youdon'thavetodefinethembeforeusingthem.Usethemanywhereinyourcodetorepresentthevaluesshownforeach.

Constant Value DescriptionvbSunday 1 SundayvbMonday 2 MondayvbTuesday 3 TuesdayvbWednesday 4 WednesdayvbThursday 5 ThursdayvbFriday 6 FridayvbSaturday 7 Saturday

vbUseSystem 0Usethedateformatcontainedintheregionalsettingsforyourcomputer.

vbUseSystemDayOfWeek 0

Usethedayoftheweekspecifiedinyoursystemsettingsforthefirstdayoftheweek.

vbFirstJan1 1 UsetheweekinwhichJanuary1occurs(default).

vbFirstFourDays 2Usethefirstweekthathasatleastfourdaysinthenewyear.

Page 140: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbFirstFullWeek 3 Usethefirstfullweekoftheyear.

Page 141: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDateFormatConstants

LanguageReferenceVersion2

SeeAlso

SincetheseconstantsarebuiltintoVBScript,youdon'thavetodefinethembeforeusingthem.Usethemanywhereinyourcodetorepresentthevaluesshownforeach.

Constant Value Description

vbGeneralDate 0

Displayadateand/ortime.Forrealnumbers,displayadateandtime.Ifthereisnofractionalpart,displayonlyadate.Ifthereisnointegerpart,displaytimeonly.Dateandtimedisplayisdeterminedbyyoursystemsettings.

vbLongDate 1Displayadateusingthelongdateformatspecifiedinyourcomputer'sregionalsettings.

vbShortDate 2Displayadateusingtheshortdateformatspecifiedinyourcomputer'sregionalsettings.

vbLongTime 3Displayatimeusingthelongtimeformatspecifiedinyourcomputer'sregionalsettings.

vbShortTime 4Displayatimeusingtheshorttimeformatspecifiedinyourcomputer'sregionalsettings.

Page 142: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDateFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthecurrentsystemdate.

Syntax

Date

Remarks

ThefollowingexampleusestheDatefunctiontoreturnthecurrentsystemdate:

DimMyDateMyDate=Date'MyDatecontainsthecurrentsystemdate.

Page 143: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateAddFunctionLanguageReference

Version2

SeeAlso

Description

Returnsadatetowhichaspecifiedtimeintervalhasbeenadded.

Syntax

DateAdd(interval,number,date)

TheDateAddfunctionsyntaxhastheseparts:

Part Description

interval Required.Stringexpressionthatistheintervalyouwanttoadd.SeeSettingssectionforvalues.

number

Required.Numericexpressionthatisthenumberofintervalyouwanttoadd.Thenumericexpressioncaneitherbepositive,fordatesinthefuture,ornegative,fordatesinthepast.

date Required.Variantorliteralrepresentingthedatetowhichintervalisadded.

Settings

Theintervalargumentcanhavethefollowingvalues:

Setting Descriptionyyyy Yearq Quarterm Monthy Dayofyeard Day

Page 144: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

w Weekdayww Weekofyearh Hourn Minutes Second

Remarks

YoucanusetheDateAddfunctiontoaddorsubtractaspecifiedtimeintervalfromadate.Forexample,youcanuseDateAddtocalculateadate30daysfromtodayoratime45minutesfromnow.Toadddaystodate,youcanuseDayofYear("y"),Day("d"),orWeekday("w").

TheDateAddfunctionwon'treturnaninvaliddate.ThefollowingexampleaddsonemonthtoJanuary31:

NewDate=DateAdd("m",1,"31-Jan-95")Inthiscase,DateAddreturns28-Feb-95,not31-Feb-95.Ifdateis31-Jan-96,itreturns29-Feb-96because1996isaleapyear.

Ifthecalculateddatewouldprecedetheyear100,anerroroccurs.

Ifnumberisn'taLongvalue,itisroundedtothenearestwholenumberbeforebeingevaluated.

Page 145: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateDiffFunctionLanguageReference

Version2

SeeAlso

Description

Returnsthenumberofintervalsbetweentwodates.

Syntax

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

TheDateDifffunctionsyntaxhastheseparts:

Part Description

interval

Required.Stringexpressionthatistheintervalyouwanttousetocalculatethedifferencesbetweendate1anddate2.SeeSettingssectionforvalues.

date1,date2 Required.Dateexpressions.Twodatesyouwanttouseinthecalculation.

firstdayofweekOptional.Constantthatspecifiesthedayoftheweek.Ifnotspecified,Sundayisassumed.SeeSettingssectionforvalues.

firstweekofyear

Optional.Constantthatspecifiesthefirstweekoftheyear.Ifnotspecified,thefirstweekisassumedtobetheweekinwhichJanuary1occurs.SeeSettingssectionforvalues.

Settings

Theintervalargumentcanhavethefollowingvalues:

Setting Descriptionyyyy Year

Page 146: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

q Quarterm Monthy Dayofyeard Dayw Weekdayww Weekofyearh Hourn Minutes Second

Thefirstdayofweekargumentcanhavethefollowingvalues:

Constant Value Description

vbUseSystem 0 UseNationalLanguageSupport(NLS)APIsetting.

vbSunday 1 Sunday(default)vbMonday 2 MondayvbTuesday 3 TuesdayvbWednesday 4 WednesdayvbThursday 5 ThursdayvbFriday 6 FridayvbSaturday 7 Saturday

Thefirstweekofyearargumentcanhavethefollowingvalues:

Constant Value Description

vbUseSystem 0 UseNationalLanguageSupport(NLS)APIsetting.

vbFirstJan1 1 StartwiththeweekinwhichJanuary1occurs(default).

vbFirstFourDays 2 Startwiththeweekthathasatleastfourdaysinthenewyear.Startwiththefirstfullweekofthenew

Page 147: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbFirstFullWeek 3 year.

Remarks

YoucanusetheDateDifffunctiontodeterminehowmanyspecifiedtimeintervalsexistbetweentwodates.Forexample,youmightuseDateDifftocalculatethenumberofdaysbetweentwodates,orthenumberofweeksbetweentodayandtheendoftheyear.

Tocalculatethenumberofdaysbetweendate1anddate2,youcanuseeitherDayofyear("y")orDay("d").WhenintervalisWeekday("w"),DateDiffreturnsthenumberofweeksbetweenthetwodates.Ifdate1fallsonaMonday,DateDiffcountsthenumberofMondaysuntildate2.Itcountsdate2butnotdate1.IfintervalisWeek("ww"),however,theDateDifffunctionreturnsthenumberofcalendarweeksbetweenthetwodates.ItcountsthenumberofSundaysbetweendate1anddate2.DateDiffcountsdate2ifitfallsonaSunday;butitdoesn'tcountdate1,evenifitdoesfallonaSunday.

Ifdate1referstoalaterpointintimethandate2,theDateDifffunctionreturnsanegativenumber.

Thefirstdayofweekargumentaffectscalculationsthatusethe"w"and"ww"intervalsymbols.

Ifdate1ordate2isadateliteral,thespecifiedyearbecomesapermanentpartofthatdate.However,ifdate1ordate2isenclosedinquotationmarks("")andyouomittheyear,thecurrentyearisinsertedinyourcodeeachtimethedate1ordate2expressionisevaluated.Thismakesitpossibletowritecodethatcanbeusedindifferentyears.

WhencomparingDecember31toJanuary1oftheimmediatelysucceedingyear,DateDiffforYear("yyyy")returns1eventhoughonlyadayhaselapsed.

ThefollowingexampleusestheDateDifffunctiontodisplaythenumberofdaysbetweenagivendateandtoday:

FunctionDiffADate(theDate)DiffADate="Daysfromtoday:"&DateDiff("d",Now,theDate)EndFunction

Page 148: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DatePartFunctionLanguageReference

Version2

SeeAlso

Description

Returnsthespecifiedpartofagivendate.

Syntax

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

TheDatePartfunctionsyntaxhastheseparts:

Part Description

intervalRequired.Stringexpressionthatistheintervaloftimeyouwanttoreturn.SeeSettingssectionforvalues.

date Required.Dateexpressionyouwanttoevaluate.

firstdayofweekOptional.Constantthatspecifiesthedayoftheweek.Ifnotspecified,Sundayisassumed.SeeSettingssectionforvalues.

firstweekofyear

Optional.Constantthatspecifiesthefirstweekoftheyear.Ifnotspecified,thefirstweekisassumedtobetheweekinwhichJanuary1occurs.SeeSettingssectionforvalues.

Settings

Theintervalargumentcanhavethefollowingvalues:

Setting Descriptionyyyy Yearq Quarter

Page 149: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

m Monthy Dayofyeard Dayw Weekdayww Weekofyearh Hourn Minutes Second

Thefirstdayofweekargumentcanhavethefollowingvalues:

Constant Value Description

vbUseSystem 0 UseNationalLanguageSupport(NLS)APIsetting.

vbSunday 1 Sunday(default)vbMonday 2 MondayvbTuesday 3 TuesdayvbWednesday 4 WednesdayvbThursday 5 ThursdayvbFriday 6 FridayvbSaturday 7 Saturday

Thefirstweekofyearargumentcanhavethefollowingvalues:

Constant Value Description

vbUseSystem 0 UseNationalLanguageSupport(NLS)APIsetting.

vbFirstJan1 1 StartwiththeweekinwhichJanuary1occurs(default).

vbFirstFourDays 2 Startwiththeweekthathasatleastfourdaysinthenewyear.

vbFirstFullWeek 3 Startwiththefirstfullweekofthenewyear.

Page 150: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Remarks

YoucanusetheDatePartfunctiontoevaluateadateandreturnaspecificintervaloftime.Forexample,youmightuseDateParttocalculatethedayoftheweekorthecurrenthour.

Thefirstdayofweekargumentaffectscalculationsthatusethe"w"and"ww"intervalsymbols.

Ifdateisadateliteral,thespecifiedyearbecomesapermanentpartofthatdate.However,ifdateisenclosedinquotationmarks(""),andyouomittheyear,thecurrentyearisinsertedinyourcodeeachtimethedateexpressionisevaluated.Thismakesitpossibletowritecodethatcanbeusedindifferentyears.

Thisexampletakesadateand,usingtheDatePartfunction,displaysthequarteroftheyearinwhichitoccurs.

FunctionGetQuarter(TheDate)GetQuarter=DatePart("q",TheDate)EndFunction

Page 151: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateSerialFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaVariantofsubtypeDateforaspecifiedyear,month,andday.

Syntax

DateSerial(year,month,day)

TheDateSerialfunctionsyntaxhasthesearguments:

Part Description

year Numberbetween100and9999,inclusive,oranumericexpression.

month Anynumericexpression.day Anynumericexpression.

Remarks

Tospecifyadate,suchasDecember31,1991,therangeofnumbersforeachDateSerialargumentshouldbeintheacceptedrangefortheunit;thatis,1–31fordaysand1–12formonths.However,youcanalsospecifyrelativedatesforeachargumentusinganynumericexpressionthatrepresentssomenumberofdays,months,oryearsbeforeorafteracertaindate.

Thefollowingexampleusesnumericexpressionsinsteadofabsolutedate

Page 152: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

numbers.HeretheDateSerialfunctionreturnsadatethatisthedaybeforethefirstday(1–1)oftwomonthsbeforeAugust(8–2)of10yearsbefore1990(1990–10);inotherwords,May31,1980.

DimMyDate1,MyDate2MyDate1=DateSerial(1970,1,1) 'ReturnsJanuary1,1970.MyDate2=DateSerial(1990-10,8-2,1-1) 'ReturnsMay31,1980.

Fortheyearargument,valuesbetween0and99,inclusive,areinterpretedastheyears1900–1999.Forallotheryeararguments,useacompletefour-digityear(forexample,1800).

Whenanyargumentexceedstheacceptedrangeforthatargument,itincrementstothenextlargerunitasappropriate.Forexample,ifyouspecify35days,itisevaluatedasonemonthandsomenumberofdays,dependingonwhereintheyearitisapplied.However,ifanysingleargumentisoutsidetherange-32,768to32,767,orifthedatespecifiedbythethreearguments,eitherdirectlyorbyexpression,fallsoutsidetheacceptablerangeofdates,anerroroccurs.

Page 153: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateValueFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaVariantofsubtypeDate.

Syntax

DateValue(date)

ThedateargumentisnormallyastringexpressionrepresentingadatefromJanuary1,100throughDecember31,9999.However,datecanalsobeanyexpressionthatcanrepresentadate,atime,orbothadateandtime,inthatrange.

Remarks

Ifthedateargumentincludestimeinformation,DateValuedoesn'treturnit.However,ifdateincludesinvalidtimeinformation(suchas"89:98"),anerroroccurs.

Ifdateisastringthatincludesonlynumbersseparatedbyvaliddateseparators,DateValuerecognizestheorderformonth,day,andyearaccordingtotheshortdateformatyouspecifiedforyoursystem.DateValuealsorecognizesunambiguousdatesthatcontainmonthnames,eitherinlongorabbreviatedform.Forexample,inadditiontorecognizing12/30/1991and12/30/91,DateValuealsorecognizesDecember30,1991andDec30,1991.

Iftheyearpartofdateisomitted,DateValueusesthecurrentyearfromyourcomputer'ssystemdate.

ThefollowingexampleusestheDateValuefunctiontoconvertastringtoadate.YoucanalsousedateliteralstodirectlyassignadatetoaVariantvariable,forexample,MyDate=#9/11/63#.

DimMyDateMyDate=DateValue("September11,1963")'Returnadate.

Page 154: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDayFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsawholenumberbetween1and31,inclusive,representingthedayofthemonth.

Syntax

Day(date)

Thedateargumentisanyexpressionthatcanrepresentadate.IfdatecontainsNull,Nullisreturned.

ThefollowingexampleusestheDayfunctiontoobtainthedayofthemonthfromaspecifieddate:

DimMyDayMyDay=Day("October19,1962")'MyDaycontains19.

Page 155: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DescriptionProperty

LanguageReferenceVersion1

SeeAlsoAppliesto

Description

Returnsorsetsadescriptivestringassociatedwithanerror.

Syntax

object.Description[=stringexpression]

TheDescriptionpropertysyntaxhastheseparts:

Part Descriptionobject AlwaystheErrobject.

stringexpression Astringexpressioncontainingadescriptionoftheerror.

Remarks

TheDescriptionpropertyconsistsofashortdescriptionoftheerror.Usethispropertytoalerttheusertoanerrorthatyoucan'tordon'twanttohandle.Whengeneratingauser-definederror,assignashortdescriptionofyourerrortothisproperty.IfDescriptionisn'tfilledin,andthevalueofNumbercorrespondstoaVBScriptrun-timeerror,thedescriptivestringassociatedwiththeerrorisreturned.

OnErrorResumeNextErr.Raise6'Raiseanoverflowerror.MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)Err.Clear'Cleartheerror.

Page 156: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDimStatement

LanguageReferenceVersion1

SeeAlso

Description

Declaresvariablesandallocatesstoragespace.

Syntax

Dimvarname[([subscripts])][,varname[([subscripts])]]...

TheDimstatementsyntaxhastheseparts:

Part Descriptionvarname Nameofthevariable;followsstandardvariablenamingconventions.

subscripts

Dimensionsofanarrayvariable;upto60multipledimensionsmaybedeclared.Thesubscriptsargumentusesthefollowingsyntax:

upperbound[,upperbound]...

Thelowerboundofanarrayisalwayszero.

Remarks

VariablesdeclaredwithDimatthescriptlevelareavailabletoallprocedureswithinthescript.Attheprocedurelevel,variablesareavailableonlywithintheprocedure.

YoucanalsousetheDimstatementwithemptyparenthesesto

Page 157: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

declareadynamicarray.Afterdeclaringadynamicarray,usetheReDimstatementwithinaproceduretodefinethenumberofdimensionsandelementsinthearray.IfyoutrytoredeclareadimensionforanarrayvariablewhosesizewasexplicitlyspecifiedinaDimstatement,anerroroccurs.

TipWhenyouusetheDimstatementinaprocedure,yougenerallyputtheDimstatementatthebeginningoftheprocedure.

ThefollowingexamplesillustratetheuseoftheDimstatement:

DimNames(9)'Declareanarraywith10elements.DimNames()'Declareadynamicarray.DimMyVar,MyNum'Declaretwovariables.

Page 158: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition/Operator

LanguageReferenceVersion1

SeeAlso

Description

Dividestwonumbersandreturnsafloating-pointresult.

Syntax

result=number1/number2

The/operatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.number1 Anynumericexpression.number2 Anynumericexpression.

Remarks

IfoneorbothexpressionsareNullexpressions,resultisNull.AnyexpressionthatisEmptyistreatedas0.

Page 159: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

Do...LoopStatement

LanguageReferenceVersion1

SeeAlso

Description

RepeatsablockofstatementswhileaconditionisTrueoruntilaconditionbecomesTrue.

Syntax

Do[{While|Until}condition][statements][ExitDo][statements]Loop

Or,youcanusethissyntax:

Do[statements][ExitDo][statements]Loop[{While|Until}condition]

TheDo...Loopstatementsyntaxhastheseparts:

Part Description

condition NumericorstringexpressionthatisTrueorFalse.IfconditionisNull,conditionistreatedasFalse.

statements OneormorestatementsthatarerepeatedwhileoruntilconditionisTrue.

Remarks

TheExitDocanonlybeusedwithinaDo...Loopcontrolstructureto

Page 160: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

provideanalternatewaytoexitaDo...Loop.AnynumberofExitDostatementsmaybeplacedanywhereintheDo...Loop.Oftenusedwiththeevaluationofsomecondition(forexample,If...Then),ExitDotransferscontroltothestatementimmediatelyfollowingtheLoop.

WhenusedwithinnestedDo...Loopstatements,ExitDotransferscontroltotheloopthatisnestedonelevelabovetheloopwhereitoccurs.

ThefollowingexamplesillustrateuseoftheDo...Loopstatement:

DoUntilDefResp=vbNoMyNum=Int(6*Rnd+1)'Generatearandomintegerbetween1and6.DefResp=MsgBox(MyNum&"Doyouwantanothernumber?",vbYesNo)Loop

DimCheck,CounterCheck=True:Counter=0 'Initializevariables.Do 'Outerloop.DoWhileCounter<20 'Innerloop.Counter=Counter+1 'IncrementCounter.IfCounter=10Then 'IfconditionisTrue...Check=False 'setvalueofflagtoFalse.ExitDo 'Exitinnerloop.EndIfLoopLoopUntilCheck=False 'Exitouterloopimmediately.

Page 161: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionEmptyLanguageReference

Version1

SeeAlso

Description

TheEmptykeywordisusedtoindicateanuninitializedvariablevalue.ThisisnotthesamethingasNull.

Page 162: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionEqvOperator

LanguageReferenceVersion1

SeeAlso

Description

Performsalogicalequivalenceontwoexpressions.

Syntax

result=expression1Eqvexpression2

TheEqvoperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.expression1 Anyexpression.expression2 Anyexpression.

Remarks

IfeitherexpressionisNull,resultisalsoNull.WhenneitherexpressionisNull,resultisdeterminedaccordingtothefollowingtable:

Ifexpression1is Andexpression2is TheresultisTrue True TrueTrue False FalseFalse True FalseFalse False True

TheEqvoperatorperformsabitwisecomparisonofidenticallypositionedbitsintwonumericexpressionsandsetsthecorrespondingbitinresultaccordingtothefollowingtable:

Andbitinexpression2is Theresultis

Page 163: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Ifbitinexpression1is

0 0 10 1 01 0 01 1 1

Page 164: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionEraseStatement

LanguageReferenceVersion1

SeeAlso

Description

Reinitializestheelementsoffixed-sizearraysanddeallocatesdynamic-arraystoragespace.

Syntax

Erasearray

Thearrayargumentisthenameofthearrayvariabletobeerased.

Remarks

Itisimportanttoknowwhetheranarrayisfixed-size(ordinary)ordynamicbecauseErasebehavesdifferentlydependingonthetypeofarray.Eraserecoversnomemoryforfixed-sizearrays.Erasesetstheelementsofafixedarrayasfollows:

Typeofarray EffectofEraseonfixed-arrayelementsFixednumericarray Setseachelementtozero.

Fixedstringarray Setseachelementtozero-length("").

Arrayofobjects SetseachelementtothespecialvalueNothing.

Erasefreesthememoryusedbydynamicarrays.Beforeyourprogramcanrefertothedynamicarrayagain,itmustredeclarethearrayvariable'sdimensionsusingaReDimstatement.

ThefollowingexampleillustratestheuseoftheErasestatement:

DimNumArray(9)

Page 165: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimDynamicArray()ReDimDynamicArray(9)'Allocatestoragespace.EraseNumArray'Eachelementisreinitialized.EraseDynamicArray'Freememoryusedbyarray.

Page 166: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionErrObject

LanguageReferenceVersion1

SeeAlsoPropertiesMethods

Description

Containsinformationaboutrun-timeerrors.AcceptstheRaiseandClearmethodsforgeneratingandclearingrun-timeerrors.

Remarks

TheErrobjectisanintrinsicobjectwithglobalscope—thereisnoneedtocreateaninstanceofitinyourcode.ThepropertiesoftheErrobjectaresetbythegeneratorofanerror—VisualBasic,anAutomationobject,ortheVBScriptprogrammer.

ThedefaultpropertyoftheErrobjectisNumber.Err.NumbercontainsanintegerandcanbeusedbyanAutomationobjecttoreturnanSCODE.

Whenarun-timeerroroccurs,thepropertiesoftheErrobjectarefilledwithinformationthatuniquelyidentifiestheerrorandinformationthatcanbeusedtohandleit.Togeneratearun-timeerrorinyourcode,usetheRaisemethod.

TheErrobject'spropertiesareresettozeroorzero-lengthstrings("")afteranOnErrorResumeNextstatement.TheClearmethodcanbeusedtoexplicitlyresetErr.

ThefollowingexampleillustratesuseoftheErrobject:

OnErrorResumeNextErr.Raise6'Raiseanoverflowerror.MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)Err.Clear'Cleartheerror.

Page 167: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionEvalFunction

LanguageReferenceVersion5

SeeAlso

Description

Evaluatesanexpressionandreturnstheresult.

Syntax

[result=]Eval(expression)

TheEvalfunctionsyntaxhastheseparts:

Part Description

resultOptional.Variabletowhichreturnvalueassignmentismade.Ifresultisnotspecified,considerusingtheExecutestatementinstead.

expression Required.StringcontaininganylegalVBScriptexpression.

Remarks

InVBScript,x=ycanbeinterpretedtwoways.Thefirstisasanassignmentstatement,wherethevalueofyisassignedtox.Thesecondinterpretationisasanexpressionthattestsifxandyhavethesamevalue.Iftheydo,resultisTrue;iftheyarenot,resultisFalse.TheEvalmethodalwaysusesthesecondinterpretation,whereastheExecutestatementalwaysusesthefirst.

NoteInMicrosoft®JScript,noconfusionexistsbetweenassignmentandcomparison,becausetheassignmentoperator(=)isdifferentfromthecomparisonoperator(==).

ThefollowingexampleillustratestheuseoftheEvalfunction:

Page 168: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SubGuessANumberDimGuess,RndNumRndNum=Int((100)*Rnd(1)+1)Guess=CInt(InputBox("Enteryourguess:",,0))DoIfEval("Guess=RndNum")ThenMsgBox"Congratulations!Youguessedit!"ExitSubElseGuess=CInt(InputBox("Sorry!Tryagain.",,0))EndIfLoopUntilGuess=0EndSub

Page 169: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

.Microsoft®VisualBasic®ScriptingEdition

ExecuteMethodLanguageReference

Version5

SeeAlsoAppliesto

Description

Executesaregularexpressionsearchagainstaspecifiedstring.

Syntax

object.Execute(string)

TheExecutemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaRegExpobject.string Required.Thetextstringuponwhichtheregularexpressionisexecuted.

Remarks

TheactualpatternfortheregularexpressionsearchissetusingthePatternpropertyoftheRegExpobject.

TheExecutemethodreturnsaMatchescollectioncontainingaMatchobjectforeachmatchfoundinstring.ExecutereturnsanemptyMatchescollectionifnomatchisfound.

ThefollowingcodeillustratestheuseoftheExecutemethod:

FunctionRegExpTest(patrn,strng)

Page 170: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createaregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Matchfoundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis'"RetStr=RetStr&Match.Value&"'."&vbCRLFNextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 171: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExecuteStatement

LanguageReferenceVersion5

SeeAlso

Description

Executesoneormorespecifiedstatements.

Syntax

Executestatement

Therequiredstatementargumentisastringexpressioncontainingoneormorestatementsforexecution.Includemultiplestatementsinthestatementargument,usingcolonsorembeddedlinebreakstoseparatethem.

Remarks

InVBScript,x=ycanbeinterpretedtwoways.Thefirstisasanassignmentstatement,wherethevalueofyisassignedtox.Thesecondinterpretationisasanexpressionthattestsifxandyhavethesamevalue.Iftheydo,resultisTrue;iftheyarenot,resultisFalse.TheExecutestatementalwaysusesthefirstinterpretation,whereastheEvalmethodalwaysusesthesecond.

NoteInMicrosoft®JScript�,noconfusionexistsbetweenassignmentandcomparison,becausetheassignmentoperator(=)isdifferentfromthecomparisonoperator(==).

ThecontextinwhichtheExecutestatementisinvokeddetermineswhatobjectsandvariablesareavailabletothecodebeingrun.In-scopeobjectsandvariablesareavailabletocoderunninginanExecutestatement.However,itisimportanttounderstandthatifyouexecutecodethatcreatesaprocedure,thatproceduredoesnotinheritthescopeoftheprocedureinwhichitoccurred.

Likeanyprocedure,thenewprocedure'sscopeisglobal,anditinheritseverythingintheglobalscope.Unlikeanyotherprocedure,itscontextisnotglobalscope,soitcanonlybeexecutedinthecontextoftheprocedurewheretheExecutestatementoccurred.However,ifthesameExecutestatementisinvokedoutsideofaprocedure(i.e.,inglobalscope),notonlydoesitinheriteverythinginglobalscope,butitcanalsobecalledfromanywhere,sinceitscontextisglobal.Thefollowingexampleillustratesthisbehavior:

Page 172: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimX 'DeclareXinglobalscope.X="Global" 'AssignglobalXavalue.SubProc1 'Declareprocedure.DimX 'DeclareXinlocalscope.X="Local" 'AssignlocalXavalue. 'TheExecutestatementherecreatesa 'procedurethat,wheninvoked,printsX. 'ItprinttheglobalXbecauseProc2 'inheritseverythinginglobalscope.Execute"SubProc2:PrintX:EndSub"PrintEval("X") 'PrintlocalX.Proc2 'InvokeProc2inProc1'sscope.EndSubProc2 'Thislinecausesanerrorsince 'Proc2isunavailableoutsideProc1.Proc1 'InvokeProc1.Execute"SubProc2:PrintX:EndSub"Proc2 'ThisinvocationsucceedsbecauseProc2 'isnowavailableglobally.

ThefollowingexampleshowshowtheExecutestatementcanberewrittensoyoudon'thavetoenclosetheentireprocedureinthequotationmarks:

S="SubProc2"&vbCrLfS=S&"PrintX"&vbCrLfS=S&"EndSub"ExecuteS

Page 173: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExitStatement

LanguageReferenceVersion1

SeeAlso

Description

ExitsablockofDo...Loop,For...Next,Function,orSubcode.

Syntax

ExitDo

ExitFor

ExitFunction

ExitProperty

ExitSub

TheExitstatementsyntaxhastheseforms:

Statement Description

ExitDo

ProvidesawaytoexitaDo...Loopstatement.ItcanbeusedonlyinsideaDo...Loopstatement.ExitDotransferscontroltothestatementfollowingtheLoopstatement.WhenusedwithinnestedDo...Loopstatements,ExitDotransferscontroltotheloopthatisonenestedlevelabovetheloopwhereitoccurs.

ExitFor

ProvidesawaytoexitaForloop.ItcanbeusedonlyinaFor...NextorForEach...Nextloop.ExitFortransferscontroltothestatementfollowingtheNextstatement.WhenusedwithinnestedForloops,ExitFortransferscontroltotheloopthatisonenestedlevelabovetheloopwhereitoccurs.ImmediatelyexitstheFunctionprocedureinwhich

Page 174: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ExitFunction

itappears.ExecutioncontinueswiththestatementfollowingthestatementthatcalledtheFunction.

ExitProperty

ImmediatelyexitsthePropertyprocedureinwhichitappears.ExecutioncontinueswiththestatementfollowingthestatementthatcalledthePropertyprocedure.

ExitSubImmediatelyexitstheSubprocedureinwhichitappears.ExecutioncontinueswiththestatementfollowingthestatementthatcalledtheSub.

ThefollowingexampleillustratestheuseoftheExitstatement:

SubRandomLoopDimI,MyNumDo'Setupinfiniteloop.ForI=1To1000'Loop1000times.MyNum=Int(Rnd*100)'Generaterandomnumbers.SelectCaseMyNum'Evaluaterandomnumber.Case17:MsgBox"Case17"ExitFor'If17,exitFor...Next.Case29:MsgBox"Case29"ExitDo'If29,exitDo...Loop.Case54:MsgBox"Case54"ExitSub'If54,exitSubprocedure.EndSelectNextLoopEndSub

Page 175: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 176: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExpFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnse(thebaseofnaturallogarithms)raisedtoapower.

Syntax

Exp(number)

Thenumberargumentcanbeanyvalidnumericexpression.

Remarks

Ifthevalueofnumberexceeds709.782712893,anerroroccurs.Theconstanteisapproximately2.718282.

NoteTheExpfunctioncomplementstheactionoftheLogfunctionandissometimesreferredtoastheantilogarithm.

ThefollowingexampleusestheExpfunctiontoreturneraisedtoapower:

DimMyAngle,MyHSin'Defineangleinradians.MyAngle=1.3'Calculatehyperbolicsine.MyHSin=(Exp(MyAngle)-Exp(-1*MyAngle))/2

Page 177: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition^Operator

LanguageReferenceVersion1

SeeAlso

Description

Raisesanumbertothepowerofanexponent.

Syntax

result=number^exponent

The^operatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.number Anynumericexpression.exponent Anynumericexpression.

Remarks

Numbercanbenegativeonlyifexponentisanintegervalue.Whenmorethanoneexponentiationisperformedinasingleexpression,the^operatorisevaluatedasitisencounteredfromlefttoright.

IfeithernumberorexponentisaNullexpression,resultisalsoNull.

Page 178: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFalseLanguageReference

Version1

SeeAlso

Description

TheFalsekeywordhasavalueequalto0.

Page 179: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilterFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsazero-basedarraycontainingasubsetofastringarraybasedonaspecifiedfiltercriteria.

Syntax

Filter(InputStrings,Value[,Include[,Compare]])

TheFilterfunctionsyntaxhastheseparts:

Part Description

InputStrings Required.One-dimensionalarrayofstringstobesearched.Value Required.Stringtosearchfor.

Include

Optional.BooleanvalueindicatingwhethertoreturnsubstringsthatincludeorexcludeValue.IfIncludeisTrue,FilterreturnsthesubsetofthearraythatcontainsValueasasubstring.IfIncludeisFalse,FilterreturnsthesubsetofthearraythatdoesnotcontainValueasasubstring.

CompareOptional.Numericvalueindicatingthekindofstringcomparisontouse.SeeSettingssectionforvalues.

Settings

TheCompareargumentcanhavethefollowingvalues:

Constant Value Description

Page 180: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbBinaryCompare 0 Performabinarycomparison.vbTextCompare 1 Performatextualcomparison.

Remarks

IfnomatchesofValuearefoundwithinInputStrings,Filterreturnsanemptyarray.AnerroroccursifInputStringsisNullorisnotaone-dimensionalarray.

ThearrayreturnedbytheFilterfunctioncontainsonlyenoughelementstocontainthenumberofmatcheditems.

ThefollowingexampleusestheFilterfunctiontoreturnthearraycontainingthesearchcriteria"Mon":

DimMyIndexDimMyArray(3)MyArray(0)="Sunday"MyArray(1)="Monday"MyArray(2)="Tuesday"MyIndex=Filter(MyArray,"Mon")'MyIndex(0)contains"Monday".

Page 181: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FirstIndexProperty

LanguageReferenceVersion5

SeeAlsoAppliesTo

Description

Returnsthepositioninasearchstringwhereamatchoccurs.

Syntax

object.FirstIndex

TheobjectargumentisalwaysaMatchobject.

Remarks

TheFirstIndexpropertyusesazero-basedoffsetfromthebeginningofthesearchstring.Inotherwords,thefirstcharacterinthestringisidentifiedascharacterzero(0).ThefollowingcodeillustratestheuseoftheFirstIndexproperty:

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Match"&I&"foundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis"'RetStr=RetStr&Match.Value&"'."&vbCRLF

Page 182: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 183: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionInt,FixFunctions

LanguageReferenceVersion1

SeeAlso

Description

Returnstheintegerportionofanumber.

Syntax

Int(number)

Fix(number)

Thenumberargumentcanbeanyvalidnumericexpression.IfnumbercontainsNull,Nullisreturned.

Remarks

BothIntandFixremovethefractionalpartofnumberandreturntheresultingintegervalue.

ThedifferencebetweenIntandFixisthatifnumberisnegative,Intreturnsthefirstnegativeintegerlessthanorequaltonumber,whereasFixreturnsthefirstnegativeintegergreaterthanorequaltonumber.Forexample,Intconverts-8.4to-9,andFixconverts-8.4to-8.

Fix(number)isequivalentto:

Sgn(number)*Int(Abs(number))ThefollowingexamplesillustratehowtheIntandFixfunctionsreturnintegerportionsofnumbers:

MyNumber=Int(99.8)'Returns99.MyNumber=Fix(99.2)'Returns99.MyNumber=Int(-99.8)'Returns-100.

Page 184: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyNumber=Fix(-99.8)'Returns-99.MyNumber=Int(-99.2)'Returns-100.MyNumber=Fix(-99.2)'Returns-99.

Page 185: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

For...NextStatement

LanguageReferenceVersion1

SeeAlso

Description

Repeatsagroupofstatementsaspecifiednumberoftimes.

Syntax

Forcounter=startToend[Stepstep][statements][ExitFor][statements]Next

TheFor...Nextstatementsyntaxhastheseparts:

Part Description

counterNumericvariableusedasaloopcounter.Thevariablecan'tbeanarrayelementoranelementofauser-definedtype.

start Initialvalueofcounter.end Finalvalueofcounter.

step Amountcounterischangedeachtimethroughtheloop.Ifnotspecified,stepdefaultstoone.

statements OneormorestatementsbetweenForandNextthatareexecutedthespecifiednumberoftimes.

Remarks

Thestepargumentcanbeeitherpositiveornegative.Thevalueofthestepargumentdeterminesloopprocessingasfollows:

Page 186: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Value LoopexecutesifPositiveor0 counter<=endNegative counter>=end

Oncetheloopstartsandallstatementsintheloophaveexecuted,stepisaddedtocounter.Atthispoint,eitherthestatementsintheloopexecuteagain(basedonthesametestthatcausedthelooptoexecuteinitially),ortheloopisexitedandexecutioncontinueswiththestatementfollowingtheNextstatement.

TipChangingthevalueofcounterwhileinsidealoopcanmakeitmoredifficulttoreadanddebugyourcode.

ExitForcanonlybeusedwithinaForEach...NextorFor...Nextcontrolstructuretoprovideanalternatewaytoexit.AnynumberofExitForstatementsmaybeplacedanywhereintheloop.ExitForisoftenusedwiththeevaluationofsomecondition(forexample,If...Then),andtransferscontroltothestatementimmediatelyfollowingNext.

YoucannestFor...NextloopsbyplacingoneFor...Nextloopwithinanother.Giveeachloopauniquevariablenameasitscounter.Thefollowingconstructioniscorrect:

ForI=1To10ForJ=1To10ForK=1To10...NextNextNext

Page 187: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionForEach...NextStatement

LanguageReferenceVersion2

SeeAlso

Description

Repeatsagroupofstatementsforeachelementinanarrayorcollection.

Syntax

ForEachelementIngroup[statements][ExitFor][statements]Next[element]

TheForEach...Nextstatementsyntaxhastheseparts:

Part Description

element

Variableusedtoiteratethroughtheelementsofthecollectionorarray.Forcollections,elementcanonlybeaVariantvariable,agenericObjectvariable,oranyspecificAutomationobjectvariable.Forarrays,elementcanonlybeaVariantvariable.

group Nameofanobjectcollectionorarray.

statements Oneormorestatementsthatareexecutedoneachitemingroup.

Remarks

TheForEachblockisenteredifthereisatleastoneelementingroup.

Page 188: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Oncetheloophasbeenentered,allthestatementsintheloopareexecutedforthefirstelementingroup.Aslongastherearemoreelementsingroup,thestatementsintheloopcontinuetoexecuteforeachelement.Whentherearenomoreelementsingroup,theloopisexitedandexecutioncontinueswiththestatementfollowingtheNextstatement.

TheExitForcanonlybeusedwithinaForEach...NextorFor...Nextcontrolstructuretoprovideanalternatewaytoexit.AnynumberofExitForstatementsmaybeplacedanywhereintheloop.TheExitForisoftenusedwiththeevaluationofsomecondition(forexample,If...Then),andtransferscontroltothestatementimmediatelyfollowingNext.

YoucannestForEach...NextloopsbyplacingoneForEach...Nextloopwithinanother.However,eachloopelementmustbeunique.

NoteIfyouomitelementinaNextstatement,executioncontinuesasifyouhadincludedit.IfaNextstatementisencounteredbeforeitscorrespondingForstatement,anerroroccurs.

ThefollowingexampleillustratesuseoftheForEach...Nextstatement:

FunctionShowFolderList(folderspec)Dimfso,f,f1,fc,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(folderspec)Setfc=f.FilesForEachf1infcs=s&f1.names=s&"<BR>"NextShowFolderList=sEndFunction

Page 189: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatCurrencyFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsanexpressionformattedasacurrencyvalueusingthecurrencysymboldefinedinthesystemcontrolpanel.

Syntax

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

TheFormatCurrencyfunctionsyntaxhastheseparts:

Part Description

Expression Required.Expressiontobeformatted.

NumDigitsAfterDecimal

Optional.Numericvalueindicatinghowmanyplacestotherightofthedecimalaredisplayed.Defaultvalueis-1,whichindicatesthatthecomputer'sregionalsettingsareused.

IncludeLeadingDigit

Optional.Tristateconstantthatindicateswhetherornotaleadingzeroisdisplayedforfractionalvalues.SeeSettingssectionforvalues.Optional.Tristateconstantthatindicateswhetherornotto

Page 190: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

UseParensForNegativeNumbers placenegativevalueswithinparentheses.SeeSettingssectionforvalues.

GroupDigits

Optional.Tristateconstantthatindicateswhetherornotnumbersaregroupedusingthegroupdelimiterspecifiedinthecomputer'sregionalsettings.SeeSettingssectionforvalues.

Settings

TheIncludeLeadingDigit,UseParensForNegativeNumbers,andGroupDigitsargumentshavethefollowingsettings:

Constant Value DescriptionTristateTrue -1 TrueTristateFalse 0 False

TristateUseDefault -2 Usethesettingfromthecomputer'sregionalsettings.

Remarks

Whenoneormoreoptionalargumentsareomitted,valuesforomittedargumentsareprovidedbythecomputer'sregionalsettings.Thepositionofthecurrencysymbolrelativetothecurrencyvalueisdeterminedbythesystem'sregionalsettings.

NoteAllsettingsinformationcomesfromtheRegionalSettingsCurrencytab,exceptleadingzerowhichcomesfromtheNumbertab.

Page 191: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ThefollowingexampleusestheFormatCurrencyfunctiontoformattheexpressionasacurrencyandassignittoMyCurrency:

DimMyCurrencyMyCurrency=FormatCurrency(1000)'MyCurrencycontains$1000.00.

Page 192: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatDateTimeFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsanexpressionformattedasadateortime.

Syntax

FormatDateTime(Date[,NamedFormat])

TheFormatDateTimefunctionsyntaxhastheseparts:

Part DescriptionDate Required.Dateexpressiontobeformatted.

NamedFormatOptional.Numericvaluethatindicatesthedate/timeformatused.Ifomitted,vbGeneralDateisused.

Settings

TheNamedFormatargumenthasthefollowingsettings:

Constant Value Description

vbGeneralDate 0

Displayadateand/ortime.Ifthereisadatepart,displayitasashortdate.Ifthereisatimepart,displayitasalongtime.Ifpresent,bothpartsaredisplayed.

vbLongDate 1Displayadateusingthelongdateformatspecifiedinyourcomputer'sregionalsettings.Displayadateusingtheshortdate

Page 193: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbShortDate 2 formatspecifiedinyourcomputer'sregionalsettings.

vbLongTime 3Displayatimeusingthetimeformatspecifiedinyourcomputer'sregionalsettings.

vbShortTime 4 Displayatimeusingthe24-hourformat(hh:mm).

Remarks

ThefollowingexampleusestheFormatDateTimefunctiontoformattheexpressionasalongdateandassignittoMyDateTime:

FunctionGetCurrentDate'FormatDateTimeformatsDateinlongdate.GetCurrentDate=FormatDateTime(Date,1)EndFunction

Page 194: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatNumberFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsanexpressionformattedasanumber.

Syntax

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

TheFormatNumberfunctionsyntaxhastheseparts:

Part Description

Expression Required.Expressiontobeformatted.

NumDigitsAfterDecimal

Optional.Numericvalueindicatinghowmanyplacestotherightofthedecimalaredisplayed.Defaultvalueis-1,whichindicatesthatthecomputer'sregionalsettingsareused.

IncludeLeadingDigit

Optional.Tristateconstantthatindicateswhetherornotaleadingzeroisdisplayedforfractionalvalues.SeeSettingssectionforvalues.

UseParensForNegativeNumbers

Optional.Tristateconstantthatindicateswhetherornottoplacenegativevalueswithin

Page 195: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

parentheses.SeeSettingssectionforvalues.

GroupDigits

Optional.Tristateconstantthatindicateswhetherornotnumbersaregroupedusingthegroupdelimiterspecifiedinthecontrolpanel.SeeSettingssectionforvalues.

Settings

TheIncludeLeadingDigit,UseParensForNegativeNumbers,andGroupDigitsargumentshavethefollowingsettings:

Constant Value DescriptionTristateTrue -1 TrueTristateFalse 0 False

TristateUseDefault -2 Usethesettingfromthecomputer'sregionalsettings.

Remarks

Whenoneormoreoftheoptionalargumentsareomitted,thevaluesforomittedargumentsareprovidedbythecomputer'sregionalsettings.

NoteAllsettingsinformationcomesfromtheRegionalSettingsNumbertab.

ThefollowingexampleusestheFormatNumberfunctiontoformatanumbertohavefourdecimalplaces:

FunctionFormatNumberDemo

Page 196: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimMyAngle,MySecant,MyNumberMyAngle=1.3'Defineangleinradians.MySecant=1/Cos(MyAngle)'Calculatesecant.FormatNumberDemo=FormatNumber(MySecantEndFunction

Page 197: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatPercentFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsanexpressionformattedasapercentage(multipliedby100)withatrailing%character.

Syntax

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

TheFormatPercentfunctionsyntaxhastheseparts:

Part Description

Expression Required.Expressiontobeformatted.

NumDigitsAfterDecimal

Optional.Numericvalueindicatinghowmanyplacestotherightofthedecimalaredisplayed.Defaultvalueis-1,whichindicatesthatthecomputer'sregionalsettingsareused.

IncludeLeadingDigit

Optional.Tristateconstantthatindicateswhetherornotaleadingzeroisdisplayedforfractionalvalues.SeeSettingssectionforvalues.Optional.Tristateconstantthatindicateswhetherornotto

Page 198: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

UseParensForNegativeNumbers placenegativevalueswithinparentheses.SeeSettingssectionforvalues.

GroupDigits

Optional.Tristateconstantthatindicateswhetherornotnumbersaregroupedusingthegroupdelimiterspecifiedinthecontrolpanel.SeeSettingssectionforvalues.

Settings

TheIncludeLeadingDigit,UseParensForNegativeNumbers,andGroupDigitsargumentshavethefollowingsettings:

Constant Value DescriptionTristateTrue -1 TrueTristateFalse 0 False

TristateUseDefault -2 Usethesettingfromthecomputer'sregionalsettings.

Remarks

Whenoneormoreoptionalargumentsareomitted,thevaluesfortheomittedargumentsareprovidedbythecomputer'sregionalsettings.

NoteAllsettingsinformationcomesfromtheRegionalSettingsNumbertab.

ThefollowingexampleusestheFormatPercentfunctiontoformatanexpressionasapercent:

Page 199: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimMyPercentMyPercent=FormatPercent(2/32)'MyPercentcontains6.25%.

Page 200: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FunctionStatement

LanguageReferenceVersion1

SeeAlso

Description

Declaresthename,arguments,andcodethatformthebodyofaFunctionprocedure.

Syntax

[Public[Default]|Private]Functionname[(arglist)][statements][name=expression][ExitFunction][statements][name=expression]EndFunction

TheFunctionstatementsyntaxhastheseparts:

Part Description

Public IndicatesthattheFunctionprocedureisaccessibletoallotherproceduresinallscripts.

DefaultUsedonlywiththePublickeywordinaClassblocktoindicatethattheFunctionprocedureisthedefaultmethodfortheclass.AnerroroccursifmorethanoneDefaultprocedureisspecifiedinaclass.

PrivateIndicatesthattheFunctionprocedureisaccessibleonlytootherproceduresinthescriptwhereitisdeclaredorifthefunctionisamemberofaclass,andthattheFunctionprocedureisaccessibleonlytootherproceduresinthatclass.

name NameoftheFunction;followsstandardvariablenamingconventions.

arglist ListofvariablesrepresentingargumentsthatarepassedtotheFunctionprocedurewhenitiscalled.Multiplevariablesareseparatedbycommas.

Page 201: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

statements AnygroupofstatementstobeexecutedwithinthebodyoftheFunctionprocedure.expression ReturnvalueoftheFunction.

Thearglistargumenthasthefollowingsyntaxandparts:

[ByVal|ByRef]varname[()]

Part DescriptionByVal Indicatesthattheargumentispassedbyvalue.

ByRef Indicatesthattheargumentispassedbyreference.

varname Nameofthevariablerepresentingtheargument;followsstandardvariablenamingconventions.

Remarks

IfnotexplicitlyspecifiedusingeitherPublicorPrivate,Functionproceduresarepublicbydefault,thatis,theyarevisibletoallotherproceduresinyourscript.ThevalueoflocalvariablesinaFunctionisnotpreservedbetweencallstotheprocedure.

Youcan'tdefineaFunctionprocedureinsideanyotherprocedure(e.g.SuborPropertyGet).

TheExitFunctionstatementcausesanimmediateexitfromaFunctionprocedure.ProgramexecutioncontinueswiththestatementthatfollowsthestatementthatcalledtheFunctionprocedure.AnynumberofExitFunctionstatementscanappearanywhereinaFunctionprocedure.

LikeaSubprocedure,aFunctionprocedureisaseparateprocedurethatcantakearguments,performaseriesofstatements,andchangethevaluesofitsarguments.However,unlikeaSubprocedure,youcanuseaFunctionprocedureontherightsideofanexpressioninthesamewayyouuseany

Page 202: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

intrinsicfunction,suchasSqr,Cos,orChr,whenyouwanttousethevaluereturnedbythefunction.

YoucallaFunctionprocedureusingthefunctionname,followedbytheargumentlistinparentheses,inanexpression.SeetheCallstatementforspecificinformationonhowtocallFunctionprocedures.

CautionFunctionprocedurescanberecursive,thatis,theycancallthemselvestoperformagiventask.However,recursioncanleadtostackoverflow.

Toreturnavaluefromafunction,assignthevaluetothefunctionname.Anynumberofsuchassignmentscanappearanywherewithintheprocedure.Ifnovalueisassignedtoname,theprocedurereturnsadefaultvalue:anumericfunctionreturns0andastringfunctionreturnsazero-lengthstring("").AfunctionthatreturnsanobjectreferencereturnsNothingifnoobjectreferenceisassignedtoname(usingSet)withintheFunction.

ThefollowingexampleshowshowtoassignareturnvaluetoafunctionnamedBinarySearch.Inthiscase,Falseisassignedtothenametoindicatethatsomevaluewasnotfound.

FunctionBinarySearch(...)...'Valuenotfound.ReturnavalueofFalse.Iflower>upperThenBinarySearch=FalseExitFunctionEndIf...EndFunction

Page 203: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

VariablesusedinFunctionproceduresfallintotwocategories:thosethatareexplicitlydeclaredwithintheprocedureandthosethatarenot.Variablesthatareexplicitlydeclaredinaprocedure(usingDimortheequivalent)arealwayslocaltotheprocedure.Variablesthatareusedbutnotexplicitlydeclaredinaprocedurearealsolocalunlesstheyareexplicitlydeclaredatsomehigherleveloutsidetheprocedure.

CautionAprocedurecanuseavariablethatisnotexplicitlydeclaredintheprocedure,butanamingconflictcanoccurifanythingyouhavedefinedatthescriptlevelhasthesamename.Ifyourprocedurereferstoanundeclaredvariablethathasthesamenameasanotherprocedure,constant,orvariable,itisassumedthatyourprocedureisreferringtothatscript-levelname.Toavoidthiskindofconflict,useanOptionExplicitstatementtoforceexplicitdeclarationofvariables.

CautionVBScriptmayrearrangearithmeticexpressionstoincreaseinternalefficiency.AvoidusingaFunctionprocedureinanarithmeticexpressionwhenthefunctionchangesthevalueofvariablesinthesameexpression.

Page 204: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetObjectFunction

LanguageReferenceVersion2

SeeAlso

Description

ReturnsareferencetoanAutomationobjectfromafile.

Syntax

GetObject([pathname][,class])

TheGetObjectfunctionsyntaxhastheseparts:

Part Description

pathnameOptional;String.Fullpathandnameofthefilecontainingtheobjecttoretrieve.Ifpathnameisomitted,classisrequired.

class Optional;String.Classoftheobject.

Theclassargumentusesthesyntaxappname.objectypeandhastheseparts:

Part Description

appname Required;String.Nameoftheapplicationprovidingtheobject.

objectype Required;String.Typeorclassofobjecttocreate.

Remarks

UsetheGetObjectfunctiontoaccessanAutomationobjectfromafileandassigntheobjecttoanobjectvariable.UsetheSetstatementtoassigntheobjectreturnedbyGetObjecttotheobjectvariable.Forexample:

Page 205: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimCADObjectSetCADObject=GetObject("C:\CAD\SCHEMA.CAD"

Whenthiscodeisexecuted,theapplicationassociatedwiththespecifiedpathnameisstartedandtheobjectinthespecifiedfileisactivated.Ifpathnameisazero-lengthstring(""),GetObjectreturnsanewobjectinstanceofthespecifiedtype.Ifthepathnameargumentisomitted,GetObjectreturnsacurrentlyactiveobjectofthespecifiedtype.Ifnoobjectofthespecifiedtypeexists,anerroroccurs.

Someapplicationsallowyoutoactivatepartofafile.Addanexclamationpoint(!)totheendofthefilenameandfollowitwithastringthatidentifiesthepartofthefileyouwanttoactivate.Forinformationonhowtocreatethisstring,seethedocumentationfortheapplicationthatcreatedtheobject.

Forexample,inadrawingapplicationyoumighthavemultiplelayerstoadrawingstoredinafile.YoucouldusethefollowingcodetoactivatealayerwithinadrawingcalledSCHEMA.CAD:

SetLayerObject=GetObject("C:\CAD\SCHEMA.Ifyoudon'tspecifytheobject'sclass,Automationdeterminestheapplicationtostartandtheobjecttoactivate,basedonthefilenameyouprovide.Somefiles,however,maysupportmorethanoneclassofobject.Forexample,adrawingmightsupportthreedifferenttypesofobjects:anApplicationobject,aDrawingobject,andaToolbarobject,allofwhicharepartofthesamefile.Tospecifywhichobjectinafileyouwanttoactivate,usetheoptionalclassargument.Forexample:

DimMyObjectSetMyObject=GetObject("C:\DRAWINGS\SAMPLE.DRW","FIGMENT.DRAWING"

Intheprecedingexample,FIGMENTisthenameofadrawingapplicationandDRAWINGisoneoftheobjecttypesitsupports.Onceanobjectisactivated,youreferenceitincodeusingtheobjectvariableyoudefined.Intheprecedingexample,youaccesspropertiesandmethodsofthenew

Page 206: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

objectusingtheobjectvariableMyObject.Forexample:

MyObject.Line9,90MyObject.InsertText9,100,"Hello,world."MyObject.SaveAs"C:\DRAWINGS\SAMPLE.DRW"

NoteUsetheGetObjectfunctionwhenthereisacurrentinstanceoftheobjectorifyouwanttocreatetheobjectwithafilealreadyloaded.Ifthereisnocurrentinstance,andyoudon'twanttheobjectstartedwithafileloaded,usetheCreateObjectfunction.

Ifanobjecthasregistereditselfasasingle-instanceobject,onlyoneinstanceoftheobjectiscreated,nomatterhowmanytimesCreateObjectisexecuted.Withasingle-instanceobject,GetObjectalwaysreturnsthesameinstancewhencalledwiththezero-lengthstring("")syntax,anditcausesanerrorifthepathnameargumentisomitted.

Page 207: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionGetRefFunction

LanguageReferenceVersion5

SeeAlso

Description

Returnsareferencetoaprocedurethatcanbeboundtoanevent.

Syntax

Setobject.eventname=GetRef(procname)

TheGetReffunctionsyntaxhastheseparts:

Part Description

object Required.Nameoftheobjectwithwhicheventisassociated.

event Required.Nameoftheeventtowhichthefunctionistobebound.

procname Required.StringcontainingthenameoftheSuborFunctionprocedurebeingassociatedwiththeevent.

Remarks

TheGetReffunctionallowsyoutoconnectaVBScriptprocedure(FunctionorSub)toanyavailableeventonyourDHTML(DynamicHTML)pages.TheDHTMLobjectmodelprovidesinformationaboutwhateventsareavailableforitsvariousobjects.

Inotherscriptingandprogramminglanguages,thefunctionalityprovidedbyGetRefisreferredtoasafunctionpointer,thatis,itpointstotheaddressofaproceduretobeexecutedwhenthespecifiedeventoccurs.

ThefollowingexampleillustratestheuseoftheGetReffunction:

Page 208: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

<SCRIPTLANGUAGE="VBScript">

FunctionGetRefTest()DimSplashSplash="GetRefTestVersion1.0"&vbCrLfSplash=Splash&Chr(169)&"YourCompany1999"MsgBoxSplashEndFunction

SetWindow.Onload=GetRef("GetRefTest")

</SCRIPT>

Page 209: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GlobalPropertyLanguageReference

Version5

SeeAlsoAppliesTo

Description

SetsorreturnsaBooleanvaluethatindicatesifapatternshouldmatchalloccurrencesinanentiresearchstringorjustthefirstone.

Syntax

object.Global[=True|False]

TheobjectargumentisalwaysaRegExpobject.ThevalueoftheGlobalpropertyisTrueifthesearchappliestotheentirestring,Falseifitdoesnot.DefaultisFalse.

Remarks

ThefollowingcodeillustratestheuseoftheGlobalproperty(changethevalueassignedtoGlobalpropertytoseeitseffect):

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createaregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.

Page 210: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Matchfoundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis'"RetStr=RetStr&Match.Value&"'."&vbCRLFNextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 211: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionHexFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsastringrepresentingthehexadecimalvalueofanumber.

Syntax

Hex(number)

Thenumberargumentisanyvalidexpression.

Remarks

Ifnumberisnotalreadyawholenumber,itisroundedtothenearestwholenumberbeforebeingevaluated.

Ifnumberis HexreturnsNull Null.Empty Zero(0).Anyothernumber Uptoeighthexadecimalcharacters.

Youcanrepresenthexadecimalnumbersdirectlybyprecedingnumbersintheproperrangewith&H.Forexample,&H10representsdecimal16inhexadecimalnotation.

ThefollowingexampleusestheHexfunctiontoreturnthehexadecimalvalueofanumber:

DimMyHexMyHex=Hex(5)'Returns5.MyHex=Hex(10)'ReturnsA.MyHex=Hex(459)'Returns1CB.

Page 212: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 213: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

HelpContextProperty

LanguageReferenceVersion2

SeeAlsoAppliesto

Description

SetsorreturnsacontextIDforatopicinaHelpFile.

Syntax

object.HelpContext[=contextID]

TheHelpContextpropertysyntaxhastheseparts:

Part Descriptionobject Required.AlwaystheErrobject.

contextID Optional.AvalididentifierforaHelptopicwithintheHelpfile.

Remarks

IfaHelpfileisspecifiedinHelpFile,theHelpContextpropertyisusedtoautomaticallydisplaytheHelptopicidentified.IfbothHelpFileandHelpContextareempty,thevalueoftheNumberpropertyischecked.IfitcorrespondstoaVBScriptrun-timeerrorvalue,thentheVBScriptHelpcontextIDfortheerrorisused.IftheNumberpropertydoesn'tcorrespondtoaVBScripterror,thecontentsscreenfortheVBScriptHelpfileisdisplayed.

ThefollowingexampleillustratesuseoftheHelpContextproperty:

OnErrorResumeNextDimMsgErr.Clear

Page 214: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Err.Raise6'Generate"Overflow"error.Err.Helpfile="yourHelp.hlp"Err.HelpContext=yourContextIDIfErr.Number<>0ThenMsg="PressF1orHelptosee"&Err.Helpfile&"topicfor"&_"thefollowingHelpContext:"&Err.HelpContextMsgBoxMsg,,"error:"&Err.Description,Err.Helpfile,Err.HelpContextEndIf

Page 215: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

HelpFilePropertyLanguageReference

Version2

SeeAlsoAppliesto

Description

SetsorreturnsafullyqualifiedpathtoaHelpFile.

Syntax

object.HelpFile[=contextID]

TheHelpFilepropertysyntaxhastheseparts:

Part Descriptionobject Required.AlwaystheErrobject.contextID Optional.FullyqualifiedpathtotheHelpfile.

Remarks

IfaHelpfileisspecifiedinHelpFile,itisautomaticallycalledwhentheuserclickstheHelpbutton(orpressestheF1key)intheerrormessagedialogbox.IftheHelpContextpropertycontainsavalidcontextIDforthespecifiedfile,thattopicisautomaticallydisplayed.IfnoHelpFileisspecified,theVBScriptHelpfileisdisplayed.

OnErrorResumeNextDimMsgErr.ClearErr.Raise6'Generate"Overflow"error.Err.Helpfile="yourHelp.hlp"Err.HelpContext=yourContextIDIfErr.Number<>0ThenMsg="PressF1orHelptosee"&Err.Helpfile&"topicfor"&_

Page 216: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

"thefollowingHelpContext:"&Err.HelpContextMsgBoxMsg,,"error:"&Err.Description,Err.Helpfile,Err.HelpContextEndIf

Page 217: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionHourFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsawholenumberbetween0and23,inclusive,representingthehouroftheday.

Syntax

Hour(time)

Thetimeargumentisanyexpressionthatcanrepresentatime.IftimecontainsNull,Nullisreturned.

ThefollowingexampleusestheHourfunctiontoobtainthehourfromthecurrenttime:

DimMyTime,MyHourMyTime=NowMyHour=Hour(MyTime)'MyHourcontainsthenumberrepresenting'thecurrenthour.

Page 218: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

If...Then...ElseStatement

LanguageReferenceVersion1

Description

Conditionallyexecutesagroupofstatements,dependingonthevalueofanexpression.

Syntax

IfconditionThenstatements[Elseelsestatements]

Or,youcanusetheblockformsyntax:

IfconditionThen[statements][ElseIfcondition-nThen[elseifstatements]]...[Else[elsestatements]]EndIf

TheIf...Then...Elsestatementsyntaxhastheseparts:

Part Description

condition

Oneormoreofthefollowingtwotypesofexpressions:

AnumericorstringexpressionthatevaluatestoTrueorFalse.IfconditionisNull,conditionistreatedasFalse.

AnexpressionoftheformTypeOfobjectnameIsobjecttype.Theobjectnameisanyobjectreferenceandobjecttypeisanyvalidobjecttype.TheexpressionisTrueifobjectnameisoftheobjecttypespecifiedbyobjecttype;otherwiseitisFalse.

statementsOneormorestatementsseparatedbycolons;executedifconditionisTrue.condition-nSameascondition.elseifstatementsOneormorestatementsexecutediftheassociatedcondition-nisTrue.elsestatementsOneormorestatementsexecutedifnopreviousconditionorcondition-nexpressionisTrue.

Page 219: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Remarks

Youcanusethesingle-lineform(firstsyntax)forshort,simpletests.However,theblockform(secondsyntax)providesmorestructureandflexibilitythanthesingle-lineformandisusuallyeasiertoread,maintain,anddebug.

NoteWiththesingle-linesyntax,itispossibletohavemultiplestatementsexecutedastheresultofanIf...Thendecision,buttheymustallbeonthesamelineandseparatedbycolons,asinthefollowingstatement:

IfA>10ThenA=A+1:B=B+A:C=C+B

WhenexecutingablockIf(secondsyntax),conditionistested.IfconditionisTrue,thestatementsfollowingThenareexecuted.IfconditionisFalse,eachElseIf(ifany)isevaluatedinturn.WhenaTrueconditionisfound,thestatementsfollowingtheassociatedThenareexecuted.IfnoneoftheElseIfstatementsareTrue(ortherearenoElseIfclauses),thestatementsfollowingElseareexecuted.AfterexecutingthestatementsfollowingThenorElse,executioncontinueswiththestatementfollowingEndIf.

TheElseandElseIfclausesarebothoptional.YoucanhaveasmanyElseIfstatementsasyouwantinablockIf,butnonecanappearaftertheElseclause.BlockIfstatementscanbenested;thatis,containedwithinoneanother.

WhatfollowstheThenkeywordisexaminedtodeterminewhetherornotastatementisablockIf.IfanythingotherthanacommentappearsafterThenonthesameline,thestatementistreatedasasingle-lineIfstatement.

AblockIfstatementmustbethefirststatementonaline.TheblockIfmustendwithanEndIfstatement.

Page 220: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IgnoreCaseProperty

LanguageReferenceVersion5

SeeAlsoAppliesTo

Description

SetsorreturnsaBooleanvaluethatindicatesifapatternsearchiscase-sensitiveornot.

Syntax

object.IgnoreCase[=True|False]

TheobjectargumentisalwaysaRegExpobject.ThevalueoftheIgnoreCasepropertyisFalseifthesearchiscase-sensitive,Trueifitisnot.DefaultisFalse.

Remarks

ThefollowingcodeillustratestheuseoftheIgnoreCaseproperty(changethevalueassignedtoIgnoreCasepropertytoseeitseffect):

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createaregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.

Page 221: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Matchfoundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis'"RetStr=RetStr&Match.Value&"'."&vbCRLFNextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 222: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionImpOperator

LanguageReferenceVersion1

SeeAlso

Description

Performsalogicalimplicationontwoexpressions.

Syntax

result=expression1Impexpression2

TheImpoperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.expression1 Anyexpression.expression2 Anyexpression.

Remarks

Thefollowingtableillustrateshowresultisdetermined:

Ifexpression1is Andexpression2is ThenresultisTrue True TrueTrue False FalseTrue Null NullFalse True TrueFalse False TrueFalse Null TrueNull True TrueNull False Null

Page 223: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Null Null Null

TheImpoperatorperformsabitwisecomparisonofidenticallypositionedbitsintwonumericexpressionsandsetsthecorrespondingbitinresultaccordingtothefollowingtable:

Ifbitinexpression1is Andbitinexpression2is Thenresultis

0 0 10 1 11 0 01 1 1

Page 224: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

InitializeEventLanguageReference

Version5

SeeAlsoAppliesTo

Description

Occurswhenaninstanceoftheassociatedclassiscreated.

Syntax

PrivateSubClass_Initialize()statementsEndSub

Thestatementspartconsistsofzeroormorecodestatementstoberunwhentheclassisinitlized.

Remarks

ThefollowingexampleillustratestheuseoftheInitializeevent:

ClassTestClassPrivateSubClass_Initialize 'SetupInitializeevent.MsgBox("TestClassstarted")EndSubPrivateSubClass_Terminate 'SetupTerminateevent.MsgBox("TestClassterminated")EndSubEndClass

SetX=NewTestClass 'CreateaninstanceofTestClass.

Page 225: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SetX=Nothing 'Destroytheinstance.

Page 226: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

InputBoxFunctionLanguageReference

Version1

SeeAlso

Description

Displaysapromptinadialogbox,waitsfortheusertoinputtextorclickabutton,andreturnsthecontentsofthetextbox.

Syntax

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

TheInputBoxfunctionsyntaxhasthesearguments:

Part Description

prompt

Stringexpressiondisplayedasthemessageinthedialogbox.Themaximumlengthofpromptisapproximately1024characters,dependingonthewidthofthecharactersused.Ifpromptconsistsofmorethanoneline,youcanseparatethelinesusingacarriagereturncharacter(Chr(13)),alinefeedcharacter(Chr(10)),orcarriagereturn–linefeedcharactercombination(Chr(13)&Chr(10))betweeneachline.

titleStringexpressiondisplayedinthetitlebarofthedialogbox.Ifyouomittitle,theapplicationnameisplacedinthetitlebar.

defaultStringexpressiondisplayedinthetextboxasthedefaultresponseifnootherinputisprovided.Ifyouomitdefault,thetextboxisdisplayedempty.

xpos

Numericexpressionthatspecifies,intwips,thehorizontaldistanceoftheleftedgeofthedialogboxfromtheleftedgeofthescreen.Ifxposisomitted,thedialogboxishorizontallycentered.Numericexpressionthatspecifies,intwips,thevertical

Page 227: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

yposdistanceoftheupperedgeofthedialogboxfromthetopofthescreen.Ifyposisomitted,thedialogboxisverticallypositionedapproximatelyone-thirdofthewaydownthescreen.

helpfileStringexpressionthatidentifiestheHelpfiletousetoprovidecontext-sensitiveHelpforthedialogbox.Ifhelpfileisprovided,contextmustalsobeprovided.

context

NumericexpressionthatidentifiestheHelpcontextnumberassignedbytheHelpauthortotheappropriateHelptopic.Ifcontextisprovided,helpfilemustalsobeprovided.

Remarks

Whenbothhelpfileandcontextaresupplied,aHelpbuttonisautomaticallyaddedtothedialogbox.

IftheuserclicksOKorpressesENTER,theInputBoxfunctionreturnswhateverisinthetextbox.IftheuserclicksCancel,thefunctionreturnsazero-lengthstring("").

ThefollowingexampleusestheInputBoxfunctiontodisplayaninputboxandassignthestringtothevariableInput:

DimInputInput=InputBox("Enteryourname")MsgBox("Youentered:"&Input)

Page 228: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionInStrFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthepositionofthefirstoccurrenceofonestringwithinanother.

Syntax

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

TheInStrfunctionsyntaxhasthesearguments:

Part Description

start

Optional.Numericexpressionthatsetsthestartingpositionforeachsearch.Ifomitted,searchbeginsatthefirstcharacterposition.IfstartcontainsNull,anerroroccurs.Thestartargumentisrequiredifcompareisspecified.

string1 Required.Stringexpressionbeingsearched.string2 Required.Stringexpressionsearchedfor.

compare

Optional.Numericvalueindicatingthekindofcomparisontousewhenevaluatingsubstrings.SeeSettingssectionforvalues.Ifomitted,abinarycomparisonisperformed.

Settings

Thecompareargumentcanhavethefollowingvalues:

Page 229: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Constant Value DescriptionvbBinaryCompare 0 Performabinarycomparison.vbTextCompare 1 Performatextualcomparison.

ReturnValues

TheInStrfunctionreturnsthefollowingvalues:

If InStrreturnsstring1iszero-length 0string1isNull Nullstring2iszero-length startstring2isNull Nullstring2isnotfound 0string2isfoundwithinstring1 Positionatwhichmatchisfoundstart>Len(string2) 0

Remarks

ThefollowingexamplesuseInStrtosearchastring:

DimSearchString,SearchChar,MyPosSearchString="XXpXXpXXPXXP" 'Stringtosearchin.SearchChar="P" 'Searchfor"P".MyPos=Instr(4,SearchString,SearchChar,1) 'Atextualcomparisonstartingat 'position4.Returns6.MyPos=Instr(1,SearchString,SearchChar,0) 'Abinarycomparisonstartingat 'position1.Returns9.MyPos=Instr(SearchString,SearchChar) 'Comparisonisbinarybydefault

Page 230: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

'(lastargumentisomitted). 'Returns9.MyPos=Instr(1,SearchString,"W") 'Abinarycomparisonstartingatposition1. 'Returns0("W"isnotfound).

NoteTheInStrBfunctionisusedwithbytedatacontainedinastring.Insteadofreturningthecharacterpositionofthefirstoccurrenceofonestringwithinanother,InStrBreturnsthebyteposition.

Page 231: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition\Operator

LanguageReferenceVersion1

SeeAlso

Description

Dividestwonumbersandreturnsanintegerresult.

Syntax

result=number1\number2

The\operatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.number1 Anynumericexpression.number2 Anynumericexpression.

Remarks

Beforedivisionisperformed,numericexpressionsareroundedtoByte,Integer,orLongsubtypeexpressions.

IfanyexpressionisNull,resultisalsoNull.AnyexpressionthatisEmptyistreatedas0.

Page 232: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsOperator

LanguageReferenceVersion1

SeeAlso

Description

Comparestwoobjectreferencevariables.

Syntax

result=object1Isobject2

TheIsoperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.object1 Anyobjectname.object2 Anyobjectname.

Remarks

Ifobject1andobject2bothrefertothesameobject,resultisTrue;iftheydonot,resultisFalse.Twovariablescanbemadetorefertothesameobjectinseveralways.

Inthefollowingexample,AhasbeensettorefertothesameobjectasB:

SetA=BThefollowingexamplemakesAandBrefertothesameobjectasC:

SetA=C

Page 233: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SetB=C

Page 234: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsArrayFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaBooleanvalueindicatingwhetheravariableisanarray.

Syntax

IsArray(varname)

Thevarnameargumentcanbeanyvariable.

Remarks

IsArrayreturnsTrueifthevariableisanarray;otherwise,itreturnsFalse.IsArrayisespeciallyusefulwithvariantscontainingarrays.

ThefollowingexampleusestheIsArrayfunctiontotestwhetherMyVariableisanarray:

DimMyVariableDimMyArray(3)MyArray(0)="Sunday"MyArray(1)="Monday"MyArray(2)="Tuesday"MyVariable=IsArray(MyArray)'MyVariablecontains"True".

Page 235: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 236: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsDateFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaBooleanvalueindicatingwhetheranexpressioncanbeconvertedtoadate.

Syntax

IsDate(expression)

Theexpressionargumentcanbeanydateexpressionorstringexpressionrecognizableasadateortime.

Remarks

IsDatereturnsTrueiftheexpressionisadateorcanbeconvertedtoavaliddate;otherwise,itreturnsFalse.InMicrosoftWindows,therangeofvaliddatesisJanuary1,100A.D.throughDecember31,9999A.D.;therangesvaryamongoperatingsystems.

ThefollowingexampleusestheIsDatefunctiontodeterminewhetheranexpressioncanbeconvertedtoadate:

DimMyDate,YourDate,NoDate,MyCheckMyDate="October19,1962":YourDate=#10/19/62#:NoDate="Hello"MyCheck=IsDate(MyDate)'ReturnsTrue.MyCheck=IsDate(YourDate)'ReturnsTrue.MyCheck=IsDate(NoDate)'ReturnsFalse.

Page 237: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsEmptyFunctionLanguageReference

Version1

SeeAlso

Description

ReturnsaBooleanvalueindicatingwhetheravariablehasbeeninitialized.

Syntax

IsEmpty(expression)

Theexpressionargumentcanbeanyexpression.However,becauseIsEmptyisusedtodetermineifindividualvariablesareinitialized,theexpressionargumentismostoftenasinglevariablename.

Remarks

IsEmptyreturnsTrueifthevariableisuninitialized,orisexplicitlysettoEmpty;otherwise,itreturnsFalse.Falseisalwaysreturnedifexpressioncontainsmorethanonevariable.

ThefollowingexampleusestheIsEmptyfunctiontodeterminewhetheravariablehasbeeninitialized:

DimMyVar,MyCheckMyCheck=IsEmpty(MyVar)'ReturnsTrue.MyVar=Null'AssignNull.MyCheck=IsEmpty(MyVar)'ReturnsFalse.MyVar=Empty'AssignEmpty.

Page 238: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyCheck=IsEmpty(MyVar)'ReturnsTrue.

Page 239: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsNullFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaBooleanvaluethatindicateswhetheranexpressioncontainsnovaliddata(Null).

Syntax

IsNull(expression)

Theexpressionargumentcanbeanyexpression.

Remarks

IsNullreturnsTrueifexpressionisNull,thatis,itcontainsnovaliddata;otherwise,IsNullreturnsFalse.Ifexpressionconsistsofmorethanonevariable,NullinanyconstituentvariablecausesTruetobereturnedfortheentireexpression.

TheNullvalueindicatesthatthevariablecontainsnovaliddata.NullisnotthesameasEmpty,whichindicatesthatavariablehasnotyetbeeninitialized.Itisalsonotthesameasazero-lengthstring(""),whichissometimesreferredtoasanullstring.

ImportantUsetheIsNullfunctiontodeterminewhetheranexpressioncontainsaNullvalue.ExpressionsthatyoumightexpecttoevaluatetoTrueundersomecircumstances,suchasIfVar=NullandIfVar<>Null,arealwaysFalse.ThisisbecauseanyexpressioncontainingaNullisitselfNull,andtherefore,False.

ThefollowingexampleusestheIsNullfunctiontodeterminewhetheravariablecontainsaNull:

Page 240: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimMyVar,MyCheckMyCheck=IsNull(MyVar)'ReturnsFalse.MyVar=Null'AssignNull.MyCheck=IsNull(MyVar)'ReturnsTrue.MyVar=Empty'AssignEmpty.MyCheck=IsNull(MyVar)'ReturnsFalse.

Page 241: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsNumericFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaBooleanvalueindicatingwhetheranexpressioncanbeevaluatedasanumber.

Syntax

IsNumeric(expression)

Theexpressionargumentcanbeanyexpression.

Remarks

IsNumericreturnsTrueiftheentireexpressionisrecognizedasanumber;otherwise,itreturnsFalse.IsNumericreturnsFalseifexpressionisadateexpression.

ThefollowingexampleusestheIsNumericfunctiontodeterminewhetheravariablecanbeevaluatedasanumber:

DimMyVar,MyCheckMyVar=53'Assignavalue.MyCheck=IsNumeric(MyVar)'ReturnsTrue.MyVar="459.95"'Assignavalue.MyCheck=IsNumeric(MyVar)'ReturnsTrue.MyVar="45Help"'Assignavalue.MyCheck=IsNumeric(MyVar)'ReturnsFalse.

Page 242: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 243: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsObjectFunctionLanguageReference

Version1

SeeAlso

Description

ReturnsaBooleanvalueindicatingwhetheranexpressionreferencesavalidAutomationobject.

Syntax

IsObject(expression)

Theexpressionargumentcanbeanyexpression.

Remarks

IsObjectreturnsTrueifexpressionisavariableofObjectsubtypeorauser-definedobject;otherwise,itreturnsFalse.

ThefollowingexampleusestheIsObjectfunctiontodetermineifanidentifierrepresentsanobjectvariable:

DimMyInt,MyCheck,MyObjectSetMyObject=MeMyCheck=IsObject(MyObject)'ReturnsTrue.MyCheck=IsObject(MyInt)'ReturnsFalse.

Page 244: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionJoinFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsastringcreatedbyjoininganumberofsubstringscontainedinanarray.

Syntax

Join(list[,delimiter])

TheJoinfunctionsyntaxhastheseparts:

Part Description

list Required.One-dimensionalarraycontainingsubstringstobejoined.

delimiter

Optional.Stringcharacterusedtoseparatethesubstringsinthereturnedstring.Ifomitted,thespacecharacter("")isused.Ifdelimiterisazero-lengthstring,allitemsinthelistareconcatenatedwithnodelimiters.

Remarks

ThefollowingexampleusestheJoinfunctiontojointhesubstringsofMyArray:

DimMyStringDimMyArray(4)MyArray(0)="Mr."

Page 245: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyArray(1)="John"MyArray(2)="Doe"MyArray(3)="III"MyString=Join(MyArray)'MyStringcontains"Mr.JohnDoeIII".

Page 246: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLBoundFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthesmallestavailablesubscriptfortheindicateddimensionofanarray.

Syntax

LBound(arrayname[,dimension])

TheLBoundfunctionsyntaxhastheseparts:

Part Description

arrayname Nameofthearrayvariable;followsstandardvariablenamingconventions.

dimension

Wholenumberindicatingwhichdimension'slowerboundisreturned.Use1forthefirstdimension,2forthesecond,andsoon.Ifdimensionisomitted,1isassumed.

Remarks

TheLBoundfunctionisusedwiththeUBoundfunctiontodeterminethesizeofanarray.UsetheUBoundfunctiontofindtheupperlimitofanarraydimension.

Thelowerboundforanydimensionisalways0.

Page 247: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLCaseFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsastringthathasbeenconvertedtolowercase.

Syntax

LCase(string)

Thestringargumentisanyvalidstringexpression.IfstringcontainsNull,Nullisreturned.

Remarks

Onlyuppercaselettersareconvertedtolowercase;alllowercaselettersandnonlettercharactersremainunchanged.

ThefollowingexampleusestheLCasefunctiontoconvertuppercaseletterstolowercase:

DimMyStringDimLCaseStringMyString="VBSCript"LCaseString=LCase(MyString)'LCaseStringcontains"vbscript".

Page 248: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLeftFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsaspecifiednumberofcharactersfromtheleftsideofastring.

Syntax

Left(string,length)

TheLeftfunctionsyntaxhasthesearguments:

Part Description

string Stringexpressionfromwhichtheleftmostcharactersarereturned.IfstringcontainsNull,Nullisreturned.

length

Numericexpressionindicatinghowmanycharacterstoreturn.If0,azero-lengthstring("")isreturned.Ifgreaterthanorequaltothenumberofcharactersinstring,theentirestringisreturned.

Remarks

Todeterminethenumberofcharactersinstring,usetheLenfunction.

ThefollowingexampleusestheLeftfunctiontoreturnthefirstthreecharactersofMyString:

DimMyString,LeftStringMyString="VBSCript"LeftString=Left(MyString,3)'LeftStringcontains"VBS".

Page 249: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NoteTheLeftBfunctionisusedwithbytedatacontainedinastring.Insteadofspecifyingthenumberofcharacterstoreturn,lengthspecifiesthenumberofbytes.

Page 250: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLenFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthenumberofcharactersinastringorthenumberofbytesrequiredtostoreavariable.

Syntax

Len(string|varname)

TheLenfunctionsyntaxhastheseparts:

Part Description

string Anyvalidstringexpression.IfstringcontainsNull,Nullisreturned.

varname Anyvalidvariablename.IfvarnamecontainsNull,Nullisreturned.

Remarks

ThefollowingexampleusestheLenfunctiontoreturnthenumberofcharactersinastring:

DimMyStringMyString=Len("VBSCRIPT")'MyStringcontains8.

NoteTheLenBfunctionisusedwithbytedatacontainedinastring.Insteadofreturningthenumberofcharactersinastring,LenBreturnsthenumberofbytesusedtorepresentthatstring.

Page 251: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

LengthPropertyLanguageReference

Version5

SeeAlsoAppliesTo

Description

Returnsthelengthofamatchfoundinasearchstring.

Syntax

object.Length

TheobjectargumentisalwaysaMatchobject.

Remarks

ThefollowingcodeillustratestheuseoftheLengthproperty:

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Match"&I&"foundatposition"RetStr=RetStr&Match.FirstIndex&".MatchLengthis"RetStr=RetStr&Match.LengthRetStr=RetStr&"characters."&vbCRLF

Page 252: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 253: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

LoadPictureFunction

LanguageReferenceVersion2

Description

Returnsapictureobject.Availableonlyon32-bitplatforms.

Syntax

LoadPicture(picturename)

Thepicturenameargumentisastringexpressionthatindicatesthenameofthepicturefiletobeloaded.

Remarks

GraphicsformatsrecognizedbyLoadPictureincludebitmap(.bmp)files,icon(.ico)files,run-lengthencoded(.rle)files,metafile(.wmf)files,enhancedmetafiles(.emf),GIF(.gif)files,andJPEG(.jpg)files.

Page 254: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLogFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthenaturallogarithmofanumber.

Syntax

Log(number)

Thenumberargumentcanbeanyvalidnumericexpressiongreaterthan0.

Remarks

Thenaturallogarithmisthelogarithmtothebasee.Theconstanteisapproximately2.718282.

Youcancalculatebase-nlogarithmsforanynumberxbydividingthenaturallogarithmofxbythenaturallogarithmofnasfollows:

Logn(x)=Log(x)/Log(n)ThefollowingexampleillustratesacustomFunctionthatcalculatesbase-10logarithms:

FunctionLog10(X)Log10=Log(X)/Log(10)EndFunction

Page 255: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLTrim,RTrim,andTrimFunctions

LanguageReferenceVersion1

SeeAlso

Description

Returnsacopyofastringwithoutleadingspaces(LTrim),trailingspaces(RTrim),orbothleadingandtrailingspaces(Trim).

Syntax

LTrim(string)

RTrim(string)

Trim(string)

Thestringargumentisanyvalidstringexpression.IfstringcontainsNull,Nullisreturned.

Remarks

ThefollowingexampleusestheLTrim,RTrim,andTrimfunctionstotrimleadingspaces,trailingspaces,andbothleadingandtrailingspaces,respectively:

DimMyVarMyVar=LTrim("vbscript")'MyVarcontains"vbscript".

Page 256: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyVar=RTrim("vbscript")'MyVarcontains"vbscript".MyVar=Trim("vbscript")'MyVarcontains"vbscript".

Page 257: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMatchObject

LanguageReferenceVersion5

SeeAlsoProperties

Description

Providesaccesstotheread-onlypropertiesofaregularexpressionmatch.

Remarks

AMatchobjectcanbeonlycreatedusingtheExecutemethodoftheRegExpobject,whichactuallyreturnsacollectionofMatchobjects.AllMatchobjectpropertiesareread-only.

Whenaregularexpressionisexecuted,zeroormoreMatchobjectscanresult.EachMatchobjectprovidesaccesstothestringfoundbytheregularexpression,thelengthofthestring,andanindextowherethematchwasfound.

ThefollowingcodeillustratestheuseoftheMatchobject:

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.

Page 258: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

RetStr=RetStr&"Match"&I&"foundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis"'RetStr=RetStr&Match.Value&"'."&vbCRLFNextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 259: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMatchesCollection

LanguageReferenceVersion5

SeeAlsoProperties

Description

CollectionofregularexpressionMatchobjects.

Remarks

AMatchescollectioncontainsindividualMatchobjects,andcanbeonlycreatedusingtheExecutemethodoftheRegExpobject.TheMatchescollection'sonepropertyisread-only,asaretheindividualMatchobjectproperties.

Whenaregularexpressionisexecuted,zeroormoreMatchobjectscanresult.EachMatchobjectprovidesaccesstothestringfoundbytheregularexpression,thelengthofthestring,andanindextowherethematchwasfound.

ThefollowingcodeillustrateshowtoobtainaMatchescollectionfromaregularexpressionsearchandhowtoiteratethecollection:

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.

Page 260: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Matchfoundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis'"RetStr=RetStr&Match.Value&"'."&vbCRLFNextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 261: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMidFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsaspecifiednumberofcharactersfromastring.

Syntax

Mid(string,start[,length])

TheMidfunctionsyntaxhasthesearguments:

Part Description

string Stringexpressionfromwhichcharactersarereturned.IfstringcontainsNull,Nullisreturned.

startCharacterpositioninstringatwhichtheparttobetakenbegins.Ifstartisgreaterthanthenumberofcharactersinstring,Midreturnsazero-lengthstring("").

length

Numberofcharacterstoreturn.Ifomittedoriftherearefewerthanlengthcharactersinthetext(includingthecharacteratstart),allcharactersfromthestartpositiontotheendofthestringarereturned.

Remarks

Todeterminethenumberofcharactersinstring,usetheLenfunction.

ThefollowingexampleusestheMidfunctiontoreturnsixcharacters,beginningwiththefourthcharacter,inastring:

DimMyVar

Page 262: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyVar=Mid("VBScriptisfun!",4,6)'MyVarcontains"Script".

NoteTheMidBfunctionisusedwithbytedatacontainedinastring.Insteadofspecifyingthenumberofcharacters,theargumentsspecifynumbersofbytes.

Page 263: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMinuteFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsawholenumberbetween0and59,inclusive,representingtheminuteofthehour.

Syntax

Minute(time)

Thetimeargumentisanyexpressionthatcanrepresentatime.IftimecontainsNull,Nullisreturned.

Remarks

ThefollowingexampleusestheMinutefunctiontoreturntheminuteofthehour:

DimMyVarMyVar=Minute(Now)

Page 264: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MiscellaneousConstants

LanguageReferenceVersion2

SeeAlso

SincethisconstantisbuiltintoVBScript,youdon'thavetodefineitbeforeusingit.Useitanywhereinyourcodetorepresentthevaluesshown.

Constant Value Description

vbObjectError -2147221504

User-definederrornumbersshouldbegreaterthanthisvalue,forexample,

Err.RaiseNumber=vbObjectError+1000

Page 265: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionModOperator

LanguageReferenceVersion1

SeeAlso

Description

Dividestwonumbersandreturnsonlytheremainder.

Syntax

result=number1Modnumber2

TheModoperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.number1 Anynumericexpression.number2 Anynumericexpression.

Remarks

Themodulus,orremainder,operatordividesnumber1bynumber2(roundingfloating-pointnumberstointegers)andreturnsonlytheremainderasresult.Forexample,inthefollowingexpression,A(whichisresult)equals5.

A=19Mod6.7IfanyexpressionisNull,resultisalsoNull.AnyexpressionthatisEmptyistreatedas0.

Page 266: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 267: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMonthFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsawholenumberbetween1and12,inclusive,representingthemonthoftheyear.

Syntax

Month(date)

Thedateargumentisanyexpressionthatcanrepresentadate.IfdatecontainsNull,Nullisreturned.

Remarks

ThefollowingexampleusestheMonthfunctiontoreturnthecurrentmonth:

DimMyVarMyVar=Month(Now)'MyVarcontainsthenumbercorrespondingto'thecurrentmonth.

Page 268: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MonthNameFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsastringindicatingthespecifiedmonth.

Syntax

MonthName(month[,abbreviate])

TheMonthNamefunctionsyntaxhastheseparts:

Part Description

month Required.Thenumericdesignationofthemonth.Forexample,Januaryis1,Februaryis2,andsoon.

abbreviate

Optional.Booleanvaluethatindicatesifthemonthnameistobeabbreviated.Ifomitted,thedefaultisFalse,whichmeansthatthemonthnameisnotabbreviated.

Remarks

ThefollowingexampleusestheMonthNamefunctiontoreturnanabbreviatedmonthnameforadateexpression:

DimMyVarMyVar=MonthName(10,True)'MyVarcontains"Oct".

Page 269: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMsgBoxConstants

LanguageReferenceVersion2

SeeAlso

ThefollowingconstantsareusedwiththeMsgBoxfunctiontoidentifywhatbuttonsandiconsappearonamessageboxandwhichbuttonisthedefault.Inaddition,themodalityoftheMsgBoxcanbespecified.SincetheseconstantsarebuiltintoVBScript,youdon'thavetodefinethembeforeusingthem.Usethemanywhereinyourcodetorepresentthevaluesshownforeach.

Constant Value DescriptionvbOKOnly 0 DisplayOKbuttononly.vbOKCancel 1 DisplayOKandCancelbuttons.

vbAbortRetryIgnore 2 DisplayAbort,Retry,andIgnorebuttons.

vbYesNoCancel 3 DisplayYes,No,andCancelbuttons.

vbYesNo 4 DisplayYesandNobuttons.

vbRetryCancel 5 DisplayRetryandCancelbuttons.

vbCritical 16 DisplayCriticalMessageicon.vbQuestion 32 DisplayWarningQueryicon.vbExclamation 48 DisplayWarningMessageicon.

vbInformation 64 DisplayInformationMessageicon.

vbDefaultButton1 0 Firstbuttonisthedefault.vbDefaultButton2 256 Secondbuttonisthedefault.vbDefaultButton3 512 Thirdbuttonisthedefault.vbDefaultButton4 768 Fourthbuttonisthedefault.

Page 270: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbApplicationModal 0Applicationmodal.Theusermustrespondtothemessageboxbeforecontinuingworkinthecurrentapplication.

vbSystemModal 4096

Systemmodal.OnWin16systems,allapplicationsaresuspendeduntiltheuserrespondstothemessagebox.OnWin32systems,thisconstantprovidesanapplicationmodalmessageboxthatalwaysremainsontopofanyotherprogramsyoumayhaverunning.

ThefollowingconstantsareusedwiththeMsgBoxfunctiontoidentifywhichbuttonauserhasselected.Theseconstantsareonlyavailablewhenyourprojecthasanexplicitreferencetotheappropriatetypelibrarycontainingtheseconstantdefinitions.ForVBScript,youmustexplicitlydeclaretheseconstantsinyourcode.

Constant Value DescriptionvbOK 1 OKbuttonwasclicked.vbCancel 2 Cancelbuttonwasclicked.vbAbort 3 Abortbuttonwasclicked.vbRetry 4 Retrybuttonwasclicked.vbIgnore 5 Ignorebuttonwasclicked.vbYes 6 Yesbuttonwasclicked.vbNo 7 Nobuttonwasclicked.

Page 271: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMsgBoxFunction

LanguageReferenceVersion1

SeeAlso

Description

Displaysamessageinadialogbox,waitsfortheusertoclickabutton,andreturnsavalueindicatingwhichbuttontheuserclicked.

Syntax

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

TheMsgBoxfunctionsyntaxhasthesearguments:

Part Description

prompt

Stringexpressiondisplayedasthemessageinthedialogbox.Themaximumlengthofpromptisapproximately1024characters,dependingonthewidthofthecharactersused.Ifpromptconsistsofmorethanoneline,youcanseparatethelinesusingacarriagereturncharacter(Chr(13)),alinefeedcharacter(Chr(10)),orcarriagereturn–linefeedcharactercombination(Chr(13)&Chr(10))betweeneachline.

buttons

Numericexpressionthatisthesumofvaluesspecifyingthenumberandtypeofbuttonstodisplay,theiconstyletouse,theidentityofthedefaultbutton,andthemodalityofthemessagebox.SeeSettingssectionforvalues.Ifomitted,thedefaultvalueforbuttonsis0.

titleStringexpressiondisplayedinthetitlebarofthedialogbox.Ifyouomittitle,theapplicationnameisplacedinthetitlebar.StringexpressionthatidentifiestheHelpfiletouseto

Page 272: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

helpfile providecontext-sensitiveHelpforthedialogbox.Ifhelpfileisprovided,contextmustalsobeprovided.Notavailableon16-bitplatforms.

context

NumericexpressionthatidentifiestheHelpcontextnumberassignedbytheHelpauthortotheappropriateHelptopic.Ifcontextisprovided,helpfilemustalsobeprovided.Notavailableon16-bitplatforms.

Settings

Thebuttonsargumentsettingsare:

Constant Value DescriptionvbOKOnly 0 DisplayOKbuttononly.vbOKCancel 1 DisplayOKandCancelbuttons.

vbAbortRetryIgnore 2 DisplayAbort,Retry,andIgnorebuttons.

vbYesNoCancel 3 DisplayYes,No,andCancelbuttons.

vbYesNo 4 DisplayYesandNobuttons.

vbRetryCancel 5 DisplayRetryandCancelbuttons.

vbCritical 16 DisplayCriticalMessageicon.vbQuestion 32 DisplayWarningQueryicon.vbExclamation 48 DisplayWarningMessageicon.

vbInformation 64 DisplayInformationMessageicon.

vbDefaultButton1 0 Firstbuttonisdefault.vbDefaultButton2 256 Secondbuttonisdefault.vbDefaultButton3 512 Thirdbuttonisdefault.vbDefaultButton4 768 Fourthbuttonisdefault.

Applicationmodal;theusermustrespondtothemessageboxbefore

Page 273: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbApplicationModal 0 continuingworkinthecurrentapplication.

vbSystemModal 4096Systemmodal;allapplicationsaresuspendeduntiltheuserrespondstothemessagebox.

Thefirstgroupofvalues(0–5)describesthenumberandtypeofbuttonsdisplayedinthedialogbox;thesecondgroup(16,32,48,64)describestheiconstyle;thethirdgroup(0,256,512,768)determineswhichbuttonisthedefault;andthefourthgroup(0,4096)determinesthemodalityofthemessagebox.Whenaddingnumberstocreateafinalvaluefortheargumentbuttons,useonlyonenumberfromeachgroup.

ReturnValues

TheMsgBoxfunctionhasthefollowingreturnvalues:

Constant Value ButtonvbOK 1 OKvbCancel 2 CancelvbAbort 3 AbortvbRetry 4 RetryvbIgnore 5 IgnorevbYes 6 YesvbNo 7 No

Remarks

Whenbothhelpfileandcontextareprovided,theusercanpressF1toviewtheHelptopiccorrespondingtothecontext.

IfthedialogboxdisplaysaCancelbutton,pressingtheESCkeyhasthesameeffectasclickingCancel.IfthedialogboxcontainsaHelpbutton,context-sensitiveHelpisprovidedforthedialogbox.However,novalueisreturneduntiloneoftheotherbuttonsisclicked.

WhentheMsgBoxfunctionisusedwithMicrosoftInternetExplorer,thetitleofanydialogpresentedalwayscontains"VBScript:"todifferentiateitfromstandardsystemdialogs.

ThefollowingexampleusestheMsgBoxfunctiontodisplayamessageboxandreturnavaluedescribingwhichbuttonwasclicked:

Page 274: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimMyVarMyVar=MsgBox("HelloWorld!",65,"MsgBoxExample")'MyVarcontainseither1or2,'dependingonwhichbuttonis'clicked.

Page 275: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition*Operator

LanguageReferenceVersion1

SeeAlso

Description

Multipliestwonumbers.

Syntax

result=number1*number2

The*operatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.number1 Anynumericexpression.number2 Anynumericexpression.

Remarks

IfoneorbothexpressionsareNullexpressions,resultisNull.IfanexpressionisEmpty,itistreatedasifitwere0.

Page 276: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition-Operator

LanguageReferenceVersion1

SeeAlso

Description

Findsthedifferencebetweentwonumbersorindicatesthenegativevalueofanumericexpression.

Syntax1

result=number1-number2

Syntax2

-number

The-operatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.number Anynumericexpression.number1 Anynumericexpression.number2 Anynumericexpression.

Remarks

InSyntax1,the-operatoristhearithmeticsubtractionoperatorusedtofindthedifferencebetweentwonumbers.InSyntax2,the-operatorisusedastheunarynegationoperatortoindicatethenegativevalueofanexpression.

IfoneorbothexpressionsareNullexpressions,resultisNull.IfanexpressionisEmpty,itistreatedasifitwere0.

Page 277: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNotOperator

LanguageReferenceVersion1

SeeAlso

Description

Performslogicalnegationonanexpression.

Syntax

result=Notexpression

TheNotoperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.expression Anyexpression.

Remarks

Thefollowingtableillustrateshowresultisdetermined:

Ifexpressionis ThenresultisTrue FalseFalse TrueNull Null

Inaddition,theNotoperatorinvertsthebitvaluesofanyvariableandsetsthecorrespondingbitinresultaccordingtothefollowingtable:

Bitinexpression Bitinresult0 11 0

Page 278: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 279: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNowFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthecurrentdateandtimeaccordingtothesettingofyourcomputer'ssystemdateandtime.

Syntax

Now

Remarks

ThefollowingexampleusestheNowfunctiontoreturnthecurrentdateandtime:

DimMyVarMyVar=Now'MyVarcontainsthecurrentdateandtime.

Page 280: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNothingLanguageReference

Version1

SeeAlso

Description

TheNothingkeywordinVBScriptisusedtodisassociateanobjectvariablefromanyactualobject.UsetheSetstatementtoassignNothingtoanobjectvariable.Forexample:

SetMyObject=NothingSeveralobjectvariablescanrefertothesameactualobject.WhenNothingisassignedtoanobjectvariable,thatvariablenolongerreferstoanyactualobject.Whenseveralobjectvariablesrefertothesameobject,memoryandsystemresourcesassociatedwiththeobjecttowhichthevariablesreferarereleasedonlyafterallofthemhavebeensettoNothing,eitherexplicitlyusingSet,orimplicitlyafterthelastobjectvariablesettoNothinggoesoutofscope.

Page 281: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNullLanguageReference

Version1

SeeAlso

Description

TheNullkeywordisusedtoindicatethatavariablecontainsnovaliddata.ThisisnotthesamethingasEmpty.

Page 282: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNumberProperty

LanguageReferenceVersion1

SeeAlsoAppliesto

Description

Returnsorsetsanumericvaluespecifyinganerror.NumberistheErrobject'sdefaultproperty.

Syntax

object.Number[=errornumber]

TheNumberpropertysyntaxhastheseparts:

Part Descriptionobject AlwaystheErrobject.

errornumber AnintegerrepresentingaVBScripterrornumberoranSCODEerrorvalue.

Remarks

Whenreturningauser-definederrorfromanAutomationobject,setErr.NumberbyaddingthenumberyouselectedasanerrorcodetotheconstantvbObjectError.

ThefollowingcodeillustratestheuseoftheNumberproperty

OnErrorResumeNextErr.RaisevbObjectError+1,"SomeObject" 'RaiseObjectError#1.MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)Err.Clear 'Cleartheerror.

Page 283: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionOctFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsastringrepresentingtheoctalvalueofanumber.

Syntax

Oct(number)

Thenumberargumentisanyvalidexpression.

Remarks

Ifnumberisnotalreadyawholenumber,itisroundedtothenearestwholenumberbeforebeingevaluated.

Ifnumberis OctreturnsNull Null.Empty Zero(0).Anyothernumber Upto11octalcharacters,

Youcanrepresentoctalnumbersdirectlybyprecedingnumbersintheproperrangewith&O.Forexample,&O10istheoctalnotationfordecimal8.

ThefollowingexampleusestheOctfunctiontoreturntheoctalvalueofanumber:

DimMyOctMyOct=Oct(4)'Returns4.MyOct=Oct(8)'Returns10.MyOct=Oct(459)'Returns713.

Page 284: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 285: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionOnErrorStatement

LanguageReferenceVersion1

SeeAlso

Description

Enablesordisableserror-handling.

Syntax

OnErrorResumeNextOnErrorGoTo0

Remarks

Ifyoudon'tuseanOnErrorResumeNextstatementanywhereinyourcode,anyrun-timeerrorthatoccurscancauseanerrormessagetobedisplayedandcodeexecutionstopped.However,theexactbehaviorisdeterminedbythehostrunningthecode.Thehostcansometimesopttohandlesucherrorsdifferently.Insomecases,thescriptdebuggermaybeinvokedatthepointoftheerror.Instillothercases,theremaybenoapparentindicationthatanyerroroccurredbecausethehostdoesnottonotifytheuser.Again,thisispurelyafunctionofhowthehosthandlesanyerrorsthatoccur.

Withinanyparticularprocedure,anerrorisnotnecessarilyfatalaslongaserror-handlingisenabledsomewherealongthecallstack.Iflocalerror-handlingisnotenabledinaprocedureandanerroroccurs,controlispassedbackthroughthecallstackuntilaprocedurewitherror-handlingenabledisfoundandtheerrorishandledatthatpoint.Ifnoprocedureinthecallstackisfoundtohaveerror-handlingenabled,anerrormessageisdisplayedatthatpointandexecutionstopsorthehosthandlestheerrorasappropriate.

OnErrorResumeNextcausesexecutiontocontinuewiththestatementimmediatelyfollowingthestatementthatcausedtherun-timeerror,orwiththestatementimmediatelyfollowingthemostrecentcalloutoftheprocedurecontainingtheOnErrorResumeNextstatement.Thisallowsexecutiontocontinuedespitearun-timeerror.Youcanthenbuildtheerror-handlingroutineinlinewithintheprocedure.

Page 286: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

AnOnErrorResumeNextstatementbecomesinactivewhenanotherprocedureiscalled,soyoushouldexecuteanOnErrorResumeNextstatementineachcalledroutineifyouwantinlineerrorhandlingwithinthatroutine.Whenaprocedureisexited,theerror-handlingcapabilityrevertstowhatevererror-handlingwasinplacebeforeenteringtheexitedprocedure.

UseOnErrorGoTo0todisableerrorhandlingifyouhavepreviouslyenableditusingOnErrorResumeNext.

ThefollowingexampleillustratesuseoftheOnErrorResumeNextstatement:

OnErrorResumeNextErr.Raise6'Raiseanoverflowerror.MsgBox"Error#"&CStr(Err.Number)&""&Err.DescriptionErr.Clear'Cleartheerror.

Page 287: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OperatorPrecedence

LanguageReferenceVersion1

SeeAlso

Description

Whenseveraloperationsoccurinanexpression,eachpartisevaluatedandresolvedinapredeterminedordercalledoperatorprecedence.Parenthesescanbeusedtooverridetheorderofprecedenceandforcesomepartsofanexpressiontobeevaluatedbeforeotherparts.Operationswithinparenthesesarealwaysperformedbeforethoseoutside.Withinparentheses,however,normaloperatorprecedenceismaintained.

Whenexpressionscontainoperatorsfrommorethanonecategory,arithmeticoperatorsareevaluatedfirst,comparisonoperatorsareevaluatednext,andlogicaloperatorsareevaluatedlast.Comparisonoperatorsallhaveequalprecedence;thatis,theyareevaluatedintheleft-to-rightorderinwhichtheyappear.Arithmeticandlogicaloperatorsareevaluatedinthefollowingorderofprecedence:

Arithmetic Comparison LogicalExponentiation(^) Equality(=) NotNegation(-) Inequality(<>) AndMultiplicationanddivision(*,/) Lessthan(<) Or

Integerdivision(\) Greaterthan(>) XorModulusarithmetic(Mod) Lessthanorequalto(<=) EqvAdditionandsubtraction(+,-)

Greaterthanorequalto(>=) Imp

Stringconcatenation(&) Is &

Whenmultiplicationanddivisionoccurtogetherinanexpression,eachoperationisevaluatedasitoccursfromlefttoright.Likewise,whenadditionandsubtractionoccurtogetherinanexpression,eachoperationisevaluatedinorderofappearancefromlefttoright.

Thestringconcatenationoperator(&)isnotanarithmeticoperator,butinprecedenceitdoesfall

Page 288: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

afterallarithmeticoperatorsandbeforeallcomparisonoperators.TheIsoperatorisanobjectreferencecomparisonoperator.Itdoesnotcompareobjectsortheirvalues;itchecksonlytodetermineiftwoobjectreferencesrefertothesameobject.

Page 289: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionOptionExplicitStatement

LanguageReferenceVersion1

Description

Forcesexplicitdeclarationofallvariablesinascript.

Syntax

OptionExplicit

Remarks

Ifused,theOptionExplicitstatementmustappearinascriptbeforeanyotherstatements.

WhenyouusetheOptionExplicitstatement,youmustexplicitlydeclareallvariablesusingtheDim,Private,Public,orReDimstatements.Ifyouattempttouseanundeclaredvariablename,anerroroccurs.

TipUseOptionExplicittoavoidincorrectlytypingthenameofanexistingvariableortoavoidconfusionincodewherethescopeofthevariableisnotclear.

ThefollowingexampleillustratesuseoftheOptionExplicitstatement:

OptionExplicit'Forceexplicitvariabledeclaration.DimMyVar'Declarevariable.

Page 290: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyInt=10'Undeclaredvariablegenerateserror.MyVar=10'Declaredvariabledoesnotgenerateerror.

Page 291: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionOrOperator

LanguageReferenceVersion1

SeeAlso

Description

Performsalogicaldisjunctionontwoexpressions.

Syntax

result=expression1Orexpression2

TheOroperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.expression1 Anyexpression.expression2 Anyexpression.

Remarks

IfeitherorbothexpressionsevaluatetoTrue,resultisTrue.Thefollowingtableillustrateshowresultisdetermined:

Ifexpression1is Andexpression2is ThenresultisTrue True TrueTrue False TrueTrue Null TrueFalse True TrueFalse False FalseFalse Null NullNull True True

Page 292: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Null False NullNull Null Null

TheOroperatoralsoperformsabitwisecomparisonofidenticallypositionedbitsintwonumericexpressionsandsetsthecorrespondingbitinresultaccordingtothefollowingtable:

Ifbitinexpression1is Andbitinexpression2is Thenresultis

0 0 00 1 11 0 11 1 1

Page 293: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPatternProperty

LanguageReferenceVersion5

SeeAlsoAppliesto

Description

Setsorreturnstheregularexpressionpatternbeingsearchedfor.

Syntax

object.Pattern[="searchstring"]

ThePatternpropertysyntaxhastheseparts:

Part Descriptionobject Required.AlwaysaRegExpobjectvariable.

searchstring Optional.Regularstringexpressionbeingsearchedfor.MayincludeanyoftheregularexpressioncharactersdefinedinthetableintheSettingssection.

Settings

Specialcharactersandsequencesareusedinwritingpatternsforregularexpressions.Thefollowingtabledescribesandgivesanexampleofthecharactersandsequencesthatcanbeused.

Character Description

\Marksthenextcharacteraseitheraspecialcharacteroraliteral.Forexample,"n"matchesthecharacter"n"."\n"matchesanewlinecharacter.Thesequence"\\"matches"\"and"\("matches"(".

^ Matchesthebeginningofinput.

$ Matchestheendofinput.

* Matchestheprecedingcharacterzeroormoretimes.Forexample,"zo*"matcheseither"z"or"zoo".

Page 294: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

+ Matchestheprecedingcharacteroneormoretimes.Forexample,"zo+"matches"zoo"butnot"z".

? Matchestheprecedingcharacterzerooronetime.Forexample,"a?ve?"matchesthe"ve"in"never".

. Matchesanysinglecharacterexceptanewlinecharacter.

(pattern)Matchespatternandremembersthematch.ThematchedsubstringcanberetrievedfromtheresultingMatchescollection,usingItem[0]...[n].Tomatchparenthesescharacters(),use"\("or"\)".

x|y Matcheseitherxory.Forexample,"z|food"matches"z"or"food"."(z|f)oo"matches"zoo"or"food".

{n} nisanonnegativeinteger.Matchesexactlyntimes.Forexample,"o{2}"doesnotmatchthe"o"in"Bob,"butmatchesthefirsttwoo'sin"foooood".

{n,}nisanonnegativeinteger.Matchesatleastntimes.Forexample,"o{2,}"doesnotmatchthe"o"in"Bob"andmatchesalltheo'sin"foooood.""o{1,}"isequivalentto"o+"."o{0,}"isequivalentto"o*".

{n,m}mandnarenonnegativeintegers.Matchesatleastnandatmostmtimes.Forexample,"o{1,3}"matchesthefirstthreeo'sin"fooooood.""o{0,1}"isequivalentto"o?".

[xyz] Acharacterset.Matchesanyoneoftheenclosedcharacters.Forexample,"[abc]"matchesthe"a"in"plain".

[^xyz] Anegativecharacterset.Matchesanycharacternotenclosed.Forexample,"[^abc]"matchesthe"p"in"plain".

[a-z] Arangeofcharacters.Matchesanycharacterinthespecifiedrange.Forexample,"[a-z]"matchesanylowercasealphabeticcharacterintherange"a"through"z".

[^m-z] Anegativerangecharacters.Matchesanycharacternotinthespecifiedrange.Forexample,"[m-z]"matchesanycharacternotintherange"m"through"z".

\b Matchesawordboundary,thatis,thepositionbetweenawordandaspace.Forexample,"er\b"matchesthe"er"in"never"butnotthe"er"in"verb".

\B Matchesanonwordboundary."ea*r\B"matchesthe"ear"in"neverearly".

\d Matchesadigitcharacter.Equivalentto[0-9].

\D Matchesanondigitcharacter.Equivalentto[^0-9].

\f Matchesaform-feedcharacter.

\n Matchesanewlinecharacter.

\r Matchesacarriagereturncharacter.

\s Matchesanywhitespaceincludingspace,tab,form-feed,etc.Equivalentto"[\f\n\r\t\v]".

\S Matchesanynonwhitespacecharacter.Equivalentto"[^\f\n\r\t\v]".

\t Matchesatabcharacter.

\v Matchesaverticaltabcharacter.

\w Matchesanywordcharacterincludingunderscore.Equivalentto"[A-Za-z0-9_]".

\W Matchesanynonwordcharacter.Equivalentto"[^A-Za-z0-9_]".

\num Matchesnum,wherenumisapositiveinteger.Areferencebacktorememberedmatches.Forexample,"(.)\1"matchestwoconsecutiveidenticalcharacters.

\n

Matchesn,wherenisanoctalescapevalue.Octalescapevaluesmustbe1,2,or3digitslong.Forexample,"\11"and"\011"bothmatchatabcharacter."\0011"istheequivalentof"\001"&"1".Octalescapevaluesmustnotexceed256.Iftheydo,onlythefirsttwodigitscomprisetheexpression.AllowsASCIIcodestobeusedinregularexpressions.

Matchesn,wherenisahexadecimalescapevalue.Hexadecimalescapevaluesmust

Page 295: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

\xn beexactlytwodigitslong.Forexample,"\x41"matches"A"."\x041"isequivalentto"\x04"&"1".AllowsASCIIcodestobeusedinregularexpressions.

Remarks

ThefollowingcodeillustratestheuseofthePatternproperty:

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createaregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Matchfoundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis'"RetStr=RetStr&Match.Value&"'."&vbCRLFNextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 296: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPrivateStatement

LanguageReferenceVersion2

SeeAlso

Description

Declaresprivatevariablesandallocatesstoragespace.Declares,inaClassblock,aprivatevariable.

Syntax

Privatevarname[([subscripts])][,varname[([subscripts])]]...

ThePrivatestatementsyntaxhastheseparts:

Part Descriptionvarname Nameofthevariable;followsstandardvariablenamingconventions.

subscripts

Dimensionsofanarrayvariable;upto60multipledimensionsmaybedeclared.Thesubscriptsargumentusesthefollowingsyntax:

upper[,upper]...

Thelowerboundofanarrayisalwayszero.

Remarks

Privatestatementvariablesareavailableonlytothescriptinwhichtheyaredeclared.

Avariablethatreferstoanobjectmustbeassignedanexisting

Page 297: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

objectusingtheSetstatementbeforeitcanbeused.Untilitisassignedanobject,thedeclaredobjectvariableisinitializedasEmpty.

YoucanalsousethePrivatestatementwithemptyparenthesestodeclareadynamicarray.Afterdeclaringadynamicarray,usetheReDimstatementwithinaproceduretodefinethenumberofdimensionsandelementsinthearray.IfyoutrytoredeclareadimensionforanarrayvariablewhosesizewasexplicitlyspecifiedinaPrivate,Public,orDimstatement,anerroroccurs.

TipWhenyouusethePrivatestatementinaprocedure,yougenerallyputthePrivatestatementatthebeginningoftheprocedure.

ThefollowingexampleillustratesuseofthePrivatestatement:

PrivateMyNumber 'PrivateVariantvariable.PrivateMyArray(9)'Privatearrayvariable. 'MultiplePrivatedeclarationsofVariantvariables.PrivateMyNumber,MyVar,YourNumber

Page 298: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertyGetStatement

LanguageReferenceVersion5

SeeAlso

Description

Declares,inaClassblock,thename,arguments,andcodethatformthebodyofaPropertyprocedurethatgets(returns)thevalueofaproperty.

Syntax

[Public[Default]|Private]PropertyGetname[(arglist)][statements][[Set]name=expression][ExitProperty][statements][[Set]name=expression]EndProperty

ThePropertyGetstatementsyntaxhastheseparts:

Part Description

Public IndicatesthatthePropertyGetprocedureisaccessibletoallotherproceduresinallscripts.

Default UsedonlywiththePublickeywordtoindicatethatthepropertydefinedinthePropertyGetprocedureisthedefaultpropertyfortheclass.

Private IndicatesthatthePropertyGetprocedureisaccessibleonlytootherproceduresintheClassblockwhereit'sdeclared.

nameNameofthePropertyGetprocedure;followsstandardvariablenamingconventions,exceptthatthenamecanbethesameasaPropertyLetorPropertySetprocedureinthesameClassblock.ListofvariablesrepresentingargumentsthatarepassedtothePropertyGetprocedure

Page 299: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

arglist whenitiscalled.Multipleargumentsareseparatedbycommas.ThenameofeachargumentinaPropertyGetproceduremustbethesameasthecorrespondingargumentinaPropertyLetprocedure(ifoneexists).

statements AnygroupofstatementstobeexecutedwithinthebodyofthePropertyGetprocedure.

Set KeywordusedwhenassigninganobjectasthereturnvalueofaPropertyGetprocedure.

expression ReturnvalueofthePropertyGetprocedure.

Remarks

IfnotexplicitlyspecifiedusingeitherPublicorPrivate,PropertyGetproceduresarepublicbydefault,thatis,theyarevisibletoallotherproceduresinyourscript.ThevalueoflocalvariablesinaPropertyGetprocedureisnotpreservedbetweencallstotheprocedure.

Youcan'tdefineaPropertyGetprocedureinsideanyotherprocedure(e.g.FunctionorPropertyLet).

TheExitPropertystatementcausesanimmediateexitfromaPropertyGetprocedure.ProgramexecutioncontinueswiththestatementthatfollowsthestatementthatcalledthePropertyGetprocedure.AnynumberofExitPropertystatementscanappearanywhereinaPropertyGetprocedure.

LikeaSubandPropertyLetprocedure,aPropertyGetprocedureisaseparateprocedurethatcantakearguments,performaseriesofstatements,andchangethevalueofitsarguments.However,unlikeaSubandPropertyLet,youcanuseaPropertyGetprocedureontherightsideofanexpressioninthesamewayyouuseaFunctionorpropertynamewhenyouwanttoreturnthevalueofaproperty.

Page 300: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertyLetStatement

LanguageReferenceVersion5

SeeAlso

Description

Declares,inaClassblock,thename,arguments,andcodethatformthebodyofaPropertyprocedurethatassigns(sets)thevalueofaproperty.

Syntax

[Public|Private]PropertyLetname([arglist,]value)[statements][ExitProperty][statements]EndProperty

ThePropertyLetstatementsyntaxhastheseparts:

Part Description

Public IndicatesthatthePropertyLetprocedureisaccessibletoallotherproceduresinallscripts.

Private IndicatesthatthePropertyLetprocedureisaccessibleonlytootherproceduresintheClassblockwhereit'sdeclared.

nameNameofthePropertyLetprocedure;followsstandardvariablenamingconventions,exceptthatthenamecanbethesameasaPropertyGetorPropertySetprocedureinthesameClassblock.

arglist

ListofvariablesrepresentingargumentsthatarepassedtothePropertyLetprocedurewhenitiscalled.Multipleargumentsareseparatedbycommas.ThenameofeachargumentinaPropertyLetproceduremustbethesameasthecorrespondingargumentinaPropertyGetprocedure.Inaddition,thePropertyLetprocedurewillalwayshaveonemoreargumentthanitscorrespondingPropertyGetprocedure.Thatargumentisthevaluebeingassignedtotheproperty.

Page 301: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

value Variabletocontainthevaluetobeassignedtotheproperty.Whentheprocedureiscalled,thisargumentappearsontherightsideofthecallingexpression.

statements AnygroupofstatementstobeexecutedwithinthebodyofthePropertyLetprocedure.

NoteVersionVersionEveryPropertyLetstatementmustdefineatleastoneargumentfortheprocedureitdefines.Thatargument(orthelastargumentifthereismorethanone)containstheactualvaluetobeassignedtothepropertywhentheproceduredefinedbythePropertyLetstatementisinvoked.Thatargumentisreferredtoasvalueintheprecedingsyntax.

Remarks

IfnotexplicitlyspecifiedusingeitherPublicorPrivate,PropertyLetproceduresarepublicbydefault,thatis,theyarevisibletoallotherproceduresinyourscript.ThevalueoflocalvariablesinaPropertyLetprocedureisnotpreservedbetweencallstotheprocedure.

Youcan'tdefineaPropertyLetprocedureinsideanyotherprocedure(e.g.FunctionorPropertyGet).

TheExitPropertystatementcausesanimmediateexitfromaPropertyLetprocedure.ProgramexecutioncontinueswiththestatementthatfollowsthestatementthatcalledthePropertyLetprocedure.AnynumberofExitPropertystatementscanappearanywhereinaPropertyLetprocedure.

LikeaFunctionandPropertyGetprocedure,aPropertyLetprocedureisaseparateprocedurethatcantakearguments,performaseriesofstatements,andchangethevalueofitsarguments.However,unlikeaFunctionandPropertyGetprocedure,bothofwhichreturnavalue,youcanonlyuseaPropertyLetprocedureontheleftsideofapropertyassignmentexpression.

Page 302: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 303: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertySetStatement

LanguageReferenceVersion5

SeeAlso

Description

Declares,inaClassblock,thename,arguments,andcodethatformthebodyofaPropertyprocedurethatsetsareferencetoanobject.

Syntax

[Public|Private]PropertySetname([arglist,]reference)[statements][ExitProperty][statements]EndProperty

ThePropertySetstatementsyntaxhastheseparts:

Part Description

Public IndicatesthatthePropertySetprocedureisaccessibletoallotherproceduresinallscripts.

Private IndicatesthatthePropertySetprocedureisaccessibleonlytootherproceduresintheClassblockwhereit'sdeclared.

nameNameofthePropertySetprocedure;followsstandardvariablenamingconventions,exceptthatthenamecanbethesameasaPropertyGetorPropertyLetprocedureinthesameClassblock.

arglist

ListofvariablesrepresentingargumentsthatarepassedtothePropertySetprocedurewhenitiscalled.Multipleargumentsareseparatedbycommas.Inaddition,thePropertySetprocedurewillalwayshaveonemoreargumentthanitscorrespondingPropertyGetprocedure.Thatargumentistheobjectbeingassignedtotheproperty.

referenceVariablecontainingtheobjectreferenceusedontherightsideoftheobjectreferenceassignment.

Page 304: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

statements AnygroupofstatementstobeexecutedwithinthebodyofthePropertySetprocedure.

NoteVersionVersionEveryPropertySetstatementmustdefineatleastoneargumentfortheprocedureitdefines.Thatargument(orthelastargumentifthereismorethanone)containstheactualobjectreferenceforthepropertywhentheproceduredefinedbythePropertySetstatementisinvoked.Thatargumentisreferredtoasreferenceintheprecedingsyntax.

Remarks

IfnotexplicitlyspecifiedusingeitherPublicorPrivate,PropertySetproceduresarepublicbydefault,thatis,theyarevisibletoallotherproceduresinyourscript.ThevalueoflocalvariablesinaPropertySetprocedureisnotpreservedbetweencallstotheprocedure.

Youcan'tdefineaPropertySetprocedureinsideanyotherprocedure(e.g.FunctionorPropertyLet).

TheExitPropertystatementcausesanimmediateexitfromaPropertySetprocedure.ProgramexecutioncontinueswiththestatementthatfollowsthestatementthatcalledthePropertySetprocedure.AnynumberofExitPropertystatementscanappearanywhereinaPropertySetprocedure.

LikeaFunctionandPropertyGetprocedure,aPropertySetprocedureisaseparateprocedurethatcantakearguments,performaseriesofstatements,andchangethevalueofitsarguments.However,unlikeaFunctionandPropertyGetprocedure,bothofwhichreturnavalue,youcanonlyuseaPropertySetprocedureontheleftsideofanobjectreferenceassignment(Setstatement).

Page 305: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPublicStatement

LanguageReferenceVersion2

SeeAlso

Description

Declarespublicvariablesandallocatesstoragespace.Declares,inaClassblock,aprivatevariable.

Syntax

Publicvarname[([subscripts])][,varname[([subscripts])]]...

ThePublicstatementsyntaxhastheseparts:

Part Descriptionvarname Nameofthevariable;followsstandardvariablenamingconventions.

subscripts

Dimensionsofanarrayvariable;upto60multipledimensionsmaybedeclared.Thesubscriptsargumentusesthefollowingsyntax:

upper[,upper]...

Thelowerboundofanarrayisalwayszero.

Remarks

Publicstatementvariablesareavailabletoallproceduresinallscripts.

Avariablethatreferstoanobjectmustbeassignedanexisting

Page 306: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

objectusingtheSetstatementbeforeitcanbeused.Untilitisassignedanobject,thedeclaredobjectvariableisinitializedasEmpty.

YoucanalsousethePublicstatementwithemptyparenthesestodeclareadynamicarray.Afterdeclaringadynamicarray,usetheReDimstatementwithinaproceduretodefinethenumberofdimensionsandelementsinthearray.IfyoutrytoredeclareadimensionforanarrayvariablewhosesizewasexplicitlyspecifiedinaPrivate,Public,orDimstatement,anerroroccurs.

ThefollowingexampleillustratestheuseofthePublicstatement:

PublicMyNumber 'PublicVariantvariable.PublicMyArray(9)'Publicarrayvariable. 'MultiplePublicdeclarationsofVariantvariables.PublicMyNumber,MyVar,YourNumber

Page 307: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRaiseMethod

LanguageReferenceVersion1

SeeAlsoAppliesto

Description

Generatesarun-timeerror.

Syntax

object.Raise(number,source,description,helpfile,helpcontext)

TheRaisemethodhastheseparts:

Part Descriptionobject AlwaystheErrobject.

numberALongintegersubtypethatidentifiesthenatureoftheerror.VBScripterrors(bothVBScript-definedanduser-definederrors)areintherange0–65535.

source

Astringexpressionnamingtheobjectorapplicationthatoriginallygeneratedtheerror.WhensettingthispropertyforanAutomationobject,usetheformproject.class.Ifnothingisspecified,theprogrammaticIDofthecurrentVBScriptprojectisused.

description

Astringexpressiondescribingtheerror.Ifunspecified,thevalueinnumberisexamined.IfitcanbemappedtoaVBScriptrun-timeerrorcode,astringprovidedbyVBScriptisusedasdescription.IfthereisnoVBScripterrorcorrespondingtonumber,agenericerrormessageisused.ThefullyqualifiedpathtotheHelpfileinwhichhelponthiserrorcanbefound.Ifunspecified,

Page 308: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

helpfile VBScriptusesthefullyqualifieddrive,path,andfilenameoftheVBScriptHelpfile.

helpcontext

ThecontextIDidentifyingatopicwithinhelpfilethatprovideshelpfortheerror.Ifomitted,theVBScriptHelpfilecontextIDfortheerrorcorrespondingtothenumberpropertyisused,ifitexists.

Remarks

Alltheargumentsareoptionalexceptnumber.IfyouuseRaise,however,withoutspecifyingsomearguments,andthepropertysettingsoftheErrobjectcontainvaluesthathavenotbeencleared,thosevaluesbecomethevaluesforyourerror.

WhensettingthenumberpropertytoyourownerrorcodeinanAutomationobject,youaddyourerrorcodenumbertotheconstantvbObjectError.Forexample,togeneratetheerrornumber1050,assignvbObjectError+1050tothenumberproperty.

ThefollowingexampleillustratesuseoftheRaisemethod:

OnErrorResumeNextErr.Raise6'Raiseanoverflowerror.MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)Err.Clear'Cleartheerror.

Page 309: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RandomizeStatement

LanguageReferenceVersion1

SeeAlso

Description

Initializestherandom-numbergenerator.

Syntax

Randomize[number]

Thenumberargumentcanbeanyvalidnumericexpression.

Remarks

RandomizeusesnumbertoinitializetheRndfunction'srandom-numbergenerator,givingitanewseedvalue.Ifyouomitnumber,thevaluereturnedbythesystemtimerisusedasthenewseedvalue.

IfRandomizeisnotused,theRndfunction(withnoarguments)usesthesamenumberasaseedthefirsttimeitiscalled,andthereafterusesthelastgeneratednumberasaseedvalue.

NoteTorepeatsequencesofrandomnumbers,callRndwithanegativeargumentimmediatelybeforeusingRandomizewithanumericargument.UsingRandomizewiththesamevaluefornumberdoesnotrepeattheprevioussequence.

ThefollowingexampleillustratesuseoftheRandomizestatement:

DimMyValue,ResponseRandomize 'Initializerandom-numbergenerator.

Page 310: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DoUntilResponse=vbNoMyValue=Int((6*Rnd)+1) 'Generaterandomvaluebetween1and6.MsgBoxMyValueResponse=MsgBox("Rollagain?",vbYesNo)Loop

Page 311: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReDimStatement

LanguageReferenceVersion1

SeeAlso

Description

Declaresdynamic-arrayvariables,andallocatesorreallocatesstoragespaceatprocedurelevel.

Syntax

ReDim[Preserve]varname(subscripts)[,varname(subscripts)]...

TheReDimstatementsyntaxhastheseparts:

Part Description

Preserve Preservesthedatainanexistingarraywhenyouchangethesizeofthelastdimension.

varname Nameofthevariable;followsstandardvariablenamingconventions.

subscripts

Dimensionsofanarrayvariable;upto60multipledimensionsmaybedeclared.Thesubscriptsargumentusesthefollowingsyntax:

upper[,upper]...

Thelowerboundofanarrayisalwayszero.

Remarks

TheReDimstatementisusedtosizeorresizeadynamicarraythathasalreadybeenformallydeclaredusingaPrivate,Public,orDimstatementwithemptyparentheses(withoutdimensionsubscripts).YoucanusetheReDimstatementrepeatedlytochangethenumberofelementsand

Page 312: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

dimensionsinanarray.

IfyouusethePreservekeyword,youcanresizeonlythelastarraydimension,andyoucan'tchangethenumberofdimensionsatall.Forexample,ifyourarrayhasonlyonedimension,youcanresizethatdimensionbecauseitisthelastandonlydimension.However,ifyourarrayhastwoormoredimensions,youcanchangethesizeofonlythelastdimensionandstillpreservethecontentsofthearray.

Thefollowingexampleshowshowyoucanincreasethesizeofthelastdimensionofadynamicarraywithouterasinganyexistingdatacontainedinthearray.

ReDimX(10,10,10)...ReDimPreserveX(10,10,15)

CautionIfyoumakeanarraysmallerthanitwasoriginally,dataintheeliminatedelementsislost.

Whenvariablesareinitialized,anumericvariableisinitializedto0andastringvariableisinitializedtoazero-lengthstring("").AvariablethatreferstoanobjectmustbeassignedanexistingobjectusingtheSetstatementbeforeitcanbeused.Untilitisassignedanobject,thedeclaredobjectvariablehasthespecialvalueNothing.

Page 313: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRegExpObject

LanguageReferenceVersion5

SeeAlsoMethodsProperties

Description

Providessimpleregularexpressionsupport.

Remarks

ThefollowingcodeillustratestheuseoftheRegExpobject:

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createaregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Matchfoundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis'"RetStr=RetStr&Match.Value&"'."&vbCRLFNextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 314: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 315: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRemStatement

LanguageReferenceVersion1

Description

Includesexplanatoryremarksinaprogram.

Syntax

Remcomment

or

'comment

Thecommentargumentisthetextofanycommentyouwanttoinclude.AftertheRemkeyword,aspaceisrequiredbeforecomment.

Remarks

Asshowninthesyntaxsection,youcanuseanapostrophe(')insteadoftheRemkeyword.IftheRemkeywordfollowsotherstatementsonaline,itmustbeseparatedfromthestatementsbyacolon.However,whenyouuseanapostrophe,thecolonisnotrequiredafterotherstatements.

ThefollowingexampleillustratestheuseoftheRemstatement:

DimMyStr1,MyStr2MyStr1="Hello":RemCommentafterastatementseparatedbyacolon.MyStr2="Goodbye"'Thisisalsoacomment;nocolonisneeded.RemCommentonalinewithnocode;nocolonisneeded.

Page 316: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReplaceFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsastringinwhichaspecifiedsubstringhasbeenreplacedwithanothersubstringaspecifiednumberoftimes.

Syntax

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

TheReplacefunctionsyntaxhastheseparts:

Part Description

expression Required.Stringexpressioncontainingsubstringtoreplace.

find Required.Substringbeingsearchedfor.replacewith Required.Replacementsubstring.

startOptional.Positionwithinexpressionwheresubstringsearchistobegin.Ifomitted,1isassumed.Mustbeusedinconjunctionwithcount.

count

Optional.Numberofsubstringsubstitutionstoperform.Ifomitted,thedefaultvalueis-1,whichmeansmakeallpossiblesubstitutions.Mustbeusedinconjunctionwithstart.

compare

Optional.Numericvalueindicatingthekindofcomparisontousewhenevaluatingsubstrings.SeeSettingssectionforvalues.Ifomitted,thedefaultvalueis0,whichmeansperformabinarycomparison.

Page 317: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Settings

Thecompareargumentcanhavethefollowingvalues:

Constant Value DescriptionvbBinaryCompare 0 Performabinarycomparison.vbTextCompare 1 Performatextualcomparison.

ReturnValues

Replacereturnsthefollowingvalues:

If Replacereturnsexpressioniszero-length Zero-lengthstring("").

expressionisNull Anerror.findiszero-length Copyofexpression.replacewithiszero-length

Copyofexpressionwithalloccurencesoffindremoved.

start>Len(expression) Zero-lengthstring.

countis0 Copyofexpression.

Remarks

ThereturnvalueoftheReplacefunctionisastring,withsubstitutionsmade,thatbeginsatthepositionspecifiedbystartandandconcludesattheendoftheexpressionstring.Itisnotacopyoftheoriginalstringfromstarttofinish.

ThefollowingexampleusestheReplacefunctiontoreturnastring:

DimMyStringMyString=Replace("XXpXXPXXp","p","Y") 'Abinarycomparisonstartingatthebeginning 'ofthestring.Returns"XXYXXPXXY".

Page 318: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyString=Replace("XXpXXPXXp","p","Y", 'Atextualcomparisonstartingatposition3. 'Returns"YXXYXXY".3

Page 319: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ReplaceMethodLanguageReference

Version5

SeeAlsoAppliesto

Description

Replacestextfoundinaregularexpressionsearch.

Syntax

object.Replace(string1,string2)

TheReplacemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaRegExpobject.string1 Required.String1isthetextstringinwhichthetextreplacementistooccur.

string2 Required.String2isthereplacementtextstring.

Remarks

TheactualpatternforthetextbeingreplacedissetusingthePatternpropertyoftheRegExpobject.

TheReplacemethodreturnsacopyofstring1withthetextofRegExp.Patternreplacedwithstring2.Ifnomatchisfound,acopyofstring1isreturnedunchanged.

ThefollowingcodeillustratesuseoftheReplacemethod:

FunctionReplaceTest(patrn,replStr)

Page 320: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimregEx,str1 'Createvariables.str1="Thequickbrownfoxjumpedoverthelazydog."SetregEx=NewRegExp 'Createregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Makecaseinsensitive.ReplaceTest=regEx.Replace(str1,replStr) 'Makereplacement.EndFunction

MsgBox(ReplaceTest("fox","cat")) 'Replace'fox'with'cat'.

Inaddition,theReplacemethodcanreplacesubexpressionsinthepattern.Thefollowingcalltothefunctionshowninthepreviousexampleswapseachpairofwordsintheoriginalstring:

MsgBox(ReplaceText("(\S+)(\s+)(\S+)","$3$2$1")) 'Swappairsofwords.

Page 321: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRGBFunction

LanguageReferenceVersion2

Description

ReturnsawholenumberrepresentinganRGBcolorvalue.

Syntax

RGB(red,green,blue)

TheRGBfunctionhastheseparts:

Part Description

red Required.Numberintherange0-255representingtheredcomponentofthecolor.

green Required.Numberintherange0-255representingthegreencomponentofthecolor.

blue Required.Numberintherange0-255representingthebluecomponentofthecolor.

Remarks

ApplicationmethodsandpropertiesthatacceptacolorspecificationexpectthatspecificationtobeanumberrepresentinganRGBcolorvalue.AnRGBcolorvaluespecifiestherelativeintensityofred,green,andbluetocauseaspecificcolortobedisplayed.

Thelow-orderbytecontainsthevalueforred,themiddlebytecontainsthevalueforgreen,andthehigh-orderbytecontainsthevalueforblue.

Page 322: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Forapplicationsthatrequirethebyteordertobereversed,thefollowingfunctionwillprovidethesameinformationwiththebytesreversed:

FunctionRevRGB(red,green,blue)RevRGB=CLng(blue+(green*256)+(red*65536))EndFunction

ThevalueforanyargumenttoRGBthatexceeds255isassumedtobe255.

Page 323: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRightFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsaspecifiednumberofcharactersfromtherightsideofastring.

Syntax

Right(string,length)

TheRightfunctionsyntaxhasthesearguments:

Part Description

string Stringexpressionfromwhichtherightmostcharactersarereturned.IfstringcontainsNull,Nullisreturned.

length

Numericexpressionindicatinghowmanycharacterstoreturn.If0,azero-lengthstringisreturned.Ifgreaterthanorequaltothenumberofcharactersinstring,theentirestringisreturned.

Remarks

Todeterminethenumberofcharactersinstring,usetheLenfunction.

ThefollowingexampleusestheRightfunctiontoreturnaspecifiednumberofcharactersfromtherightsideofastring:

DimAnyString,MyStrAnyString="HelloWorld"'Definestring.MyStr=Right(AnyString,1)'Returns"d".MyStr=Right(AnyString,6)'Returns"World".

Page 324: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyStr=Right(AnyString,20)'Returns"HelloWorld".

NoteTheRightBfunctionisusedwithbytedatacontainedinastring.Insteadofspecifyingthenumberofcharacterstoreturn,lengthspecifiesthenumberofbytes.

Page 325: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRndFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsarandomnumber.

Syntax

Rnd[(number)]

Thenumberargumentcanbeanyvalidnumericexpression.

Remarks

TheRndfunctionreturnsavaluelessthan1butgreaterthanorequalto0.ThevalueofnumberdetermineshowRndgeneratesarandomnumber:

Ifnumberis Rndgenerates

Lessthanzero Thesamenumbereverytime,usingnumberastheseed.

Greaterthanzero Thenextrandomnumberinthesequence.

Equaltozero Themostrecentlygeneratednumber.Notsupplied Thenextrandomnumberinthesequence.

Foranygiveninitialseed,thesamenumbersequenceisgeneratedbecauseeachsuccessivecalltotheRndfunctionusesthepreviousnumberasaseedforthenextnumberinthesequence.

BeforecallingRnd,usetheRandomizestatementwithoutanargumenttoinitializetherandom-numbergeneratorwithaseedbasedonthesystemtimer.

Toproducerandomintegersinagivenrange,usethisformula:

Page 326: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Int((upperbound-lowerbound+1)*Rnd+lowerboundHere,upperboundisthehighestnumberintherange,andlowerboundisthelowestnumberintherange.

NoteTorepeatsequencesofrandomnumbers,callRndwithanegativeargumentimmediatelybeforeusingRandomizewithanumericargument.UsingRandomizewiththesamevaluefornumberdoesnotrepeattheprevioussequence.

Page 327: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRoundFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsanumberroundedtoaspecifiednumberofdecimalplaces.

Syntax

Round(expression[,numdecimalplaces])

TheRoundfunctionsyntaxhastheseparts:

Part Description

expression Required.Numericexpressionbeingrounded.

numdecimalplaces

Optional.Numberindicatinghowmanyplacestotherightofthedecimalareincludedintherounding.Ifomitted,integersarereturnedbytheRoundfunction.

Remarks

ThefollowingexampleusestheRoundfunctiontoroundanumbertotwodecimalplaces:

DimMyVar,pipi=3.14159MyVar=Round(pi,2)'MyVarcontains3.14.

Page 328: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsastringrepresentingthescriptinglanguageinuse.

Syntax

ScriptEngine

ReturnValues

TheScriptEnginefunctioncanreturnanyofthefollowingstrings:

String Description

VBScript IndicatesthatMicrosoft®VisualBasic®ScriptingEditionisthecurrentscriptingengine.

JScript IndicatesthatMicrosoftJScript®isthecurrentscriptingengine.

VBA IndicatesthatMicrosoftVisualBasicforApplicationsisthecurrentscriptingengine.

Remarks

ThefollowingexampleusestheScriptEnginefunctiontoreturnastringdescribingthescriptinglanguageinuse:

FunctionGetScriptEngineInfoDimss="" 'Buildstringwithnecessaryinfo.

Page 329: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

s=ScriptEngine&"Version"s=s&ScriptEngineMajorVersion&"."s=s&ScriptEngineMinorVersion&"."s=s&ScriptEngineBuildVersionGetScriptEngineInfo=s 'Returntheresults.EndFunction

Page 330: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineBuildVersionFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsthebuildversionnumberofthescriptingengineinuse.

Syntax

ScriptEngineBuildVersion

Remarks

ThereturnvaluecorrespondsdirectlytotheversioninformationcontainedintheDLLforthescriptinglanguageinuse.

ThefollowingexampleusestheScriptEngineBuildVersionfunctiontoreturnthebuildversionnumberofthescriptingengine:

FunctionGetScriptEngineInfoDimss="" 'Buildstringwithnecessaryinfo.s=ScriptEngine&"Version"s=s&ScriptEngineMajorVersion&"."s=s&ScriptEngineMinorVersion&"."s=s&ScriptEngineBuildVersionGetScriptEngineInfo=s 'Returntheresults.EndFunction

Page 331: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineMajorVersionFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsthemajorversionnumberofthescriptingengineinuse.

Syntax

ScriptEngineMajorVersion

Remarks

ThereturnvaluecorrespondsdirectlytotheversioninformationcontainedintheDLLforthescriptinglanguageinuse.

ThefollowingexampleusestheScriptEngineMajorVersionfunctiontoreturntheversionnumberofthescriptingengine:

FunctionGetScriptEngineInfoDimss="" 'Buildstringwithnecessaryinfo.s=ScriptEngine&"Version"s=s&ScriptEngineMajorVersion&"."s=s&ScriptEngineMinorVersion&"."s=s&ScriptEngineBuildVersionGetScriptEngineInfo=s 'Returntheresults.EndFunction

Page 332: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineMinorVersionFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnstheminorversionnumberofthescriptingengineinuse.

Syntax

ScriptEngineMinorVersion

Remarks

ThereturnvaluecorrespondsdirectlytotheversioninformationcontainedintheDLLforthescriptinglanguageinuse.

ThefollowingexampleusestheScriptEngineMinorVersionfunctiontoreturntheminorversionnumberofthescriptingengine:

FunctionGetScriptEngineInfoDimss="" 'Buildstringwithnecessaryinfo.s=ScriptEngine&"Version"s=s&ScriptEngineMajorVersion&"."s=s&ScriptEngineMinorVersion&"."s=s&ScriptEngineBuildVersionGetScriptEngineInfo=s 'Returntheresults.EndFunction

Page 333: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSecondFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsawholenumberbetween0and59,inclusive,representingthesecondoftheminute.

Syntax

Second(time)

Thetimeargumentisanyexpressionthatcanrepresentatime.IftimecontainsNull,Nullisreturned.

Remarks

ThefollowingexampleusestheSecondfunctiontoreturnthecurrentsecond:

DimMySecMySec=Second(Now) 'MySeccontainsthenumberrepresenting 'thecurrentsecond.

Page 334: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSelectCaseStatement

LanguageReferenceVersion1

SeeAlso

Description

Executesoneofseveralgroupsofstatements,dependingonthevalueofanexpression.

Syntax

SelectCasetestexpression[Caseexpressionlist-n[statements-n]]...[CaseElseexpressionlist-n[elsestatements-n]]EndSelect

TheSelectCasestatementsyntaxhastheseparts:

Part Descriptiontestexpression Anynumericorstringexpression.expressionlist-n

RequiredifCaseappears.Delimitedlistofoneormoreexpressions.

statements-nOneormorestatementsexecutediftestexpressionmatchesanypartofexpressionlist-n.

elsestatements-n

Oneormorestatementsexecutediftestexpressiondoesn'tmatchanyoftheCaseclauses.

Remarks

Page 335: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

IftestexpressionmatchesanyCaseexpressionlistexpression,thestatementsfollowingthatCaseclauseareexecuteduptothenextCaseclause,orforthelastclause,uptoEndSelect.ControlthenpassestothestatementfollowingEndSelect.IftestexpressionmatchesanexpressionlistexpressioninmorethanoneCaseclause,onlythestatementsfollowingthefirstmatchareexecuted.

TheCaseElseclauseisusedtoindicatetheelsestatementstobeexecutedifnomatchisfoundbetweenthetestexpressionandanexpressionlistinanyoftheotherCaseselections.Althoughnotrequired,itisagoodideatohaveaCaseElsestatementinyourSelectCaseblocktohandleunforeseentestexpressionvalues.IfnoCaseexpressionlistmatchestestexpressionandthereisnoCaseElsestatement,executioncontinuesatthestatementfollowingEndSelect.

SelectCasestatementscanbenested.EachnestedSelectCasestatementmusthaveamatchingEndSelectstatement.

ThefollowingexampleillustratestheuseoftheSelectCasestatement:

DimColor,MyVarSubChangeBackground(Color) MyVar=lcase(Color) SelectCaseMyVarCase"red"document.bgColor="red"Case"green"document.bgColor="green"Case"blue"document.bgColor="blue"CaseElseMsgBox"pickanothercolor"EndSelectEndSub

Page 336: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSetStatement

LanguageReferenceVersion1

SeeAlso

Description

Assignsanobjectreferencetoavariableorproperty,orassociatesaprocedurereferencewithanevent.

Syntax1

Setobjectvar={objectexpression|Newclassname|Nothing}

Syntax2

Setobject.eventname=GetRef(procname)

TheSetstatementsyntaxhastheseparts:

Part Description

objectvar Required.Nameofthevariableorproperty;followsstandardvariablenamingconventions.

objectexpressionOptional.Expressionconsistingofthenameofanobject,anotherdeclaredvariableofthesameobjecttype,orafunctionormethodthatreturnsanobjectofthesameobjecttype.

NewKeywordusedtocreateanewinstanceofaclass.Ifobjectvarcontainedareferencetoanobject,thatreferenceisreleasedwhenthenewoneisassigned.TheNewkeywordcanonlybeusedtocreateaninstanceofaclass.

classname Optional.Nameoftheclassbeingcreated.AclassanditsmembersaredefinedusingtheClassstatement.

Nothing

Optional.Discontinuesassociationofobjectvarwithanyspecificobjectorclass.AssigningobjectvartoNothingreleasesallthesystemandmemoryresourcesassociatedwiththepreviouslyreferencedobjectwhennoothervariablereferstoit.

object Required.Nameoftheobjectwithwhicheventisassociated.

Page 337: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

event Required.Nameoftheeventtowhichthefunctionistobebound.

procname Required.StringcontainingthenameoftheSuborFunctionbeingassociatedwiththeevent.

Remarks

Tobevalid,objectvarmustbeanobjecttypeconsistentwiththeobjectbeingassignedtoit.

TheDim,Private,Public,orReDimstatementsonlydeclareavariablethatreferstoanobject.NoactualobjectisreferredtountilyouusetheSetstatementtoassignaspecificobject.

Generally,whenyouuseSettoassignanobjectreferencetoavariable,nocopyoftheobjectiscreatedforthatvariable.Instead,areferencetotheobjectiscreated.Morethanoneobjectvariablecanrefertothesameobject.Becausethesevariablesarereferencesto(ratherthancopiesof)theobject,anychangeintheobjectisreflectedinallvariablesthatrefertoit.

FunctionShowFreeSpace(drvPath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(drvPath))s="Drive"&UCase(drvPath)&"-"s=s&d.VolumeName&"<BR>"s=s&"FreeSpace:"&FormatNumber(d.FreeSpace/1024,0)s=s&"Kbytes"ShowFreeSpace=sEndFunction

UsingtheNewkeywordallowsyoutoconcurrentlycreateaninstanceofaclassandassignittoanobjectreferencevariable.Thevariabletowhichtheinstanceoftheclassisbeingassigned

Page 338: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

mustalreadyhavebeendeclaredwiththeDim(orequivalent)statement.

RefertothedocumentationfortheGetReffunctionforinformationonusingSettoassociateaprocedurewithanevent.

Page 339: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSgnFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsanintegerindicatingthesignofanumber.

Syntax

Sgn(number)

Thenumberargumentcanbeanyvalidnumericexpression.

ReturnValues

TheSgnfunctionhasthefollowingreturnvalues:

Ifnumberis SgnreturnsGreaterthanzero 1Equaltozero 0Lessthanzero -1

Remarks

ThesignofthenumberargumentdeterminesthereturnvalueoftheSgnfunction.

ThefollowingexampleusestheSgnfunctiontodeterminethesignofanumber:

DimMyVar1,MyVar2,MyVar3,MySignMyVar1=12:MyVar2=-2.4:MyVar3=0MySign=Sgn(MyVar1)'Returns1.

Page 340: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MySign=Sgn(MyVar2)'Returns-1.MySign=Sgn(MyVar3)'Returns0.

Page 341: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSinFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthesineofanangle.

Syntax

Sin(number)

Thenumberargumentcanbeanyvalidnumericexpressionthatexpressesanangleinradians.

Remarks

TheSinfunctiontakesanangleandreturnstheratiooftwosidesofarighttriangle.Theratioisthelengthofthesideoppositetheangledividedbythelengthofthehypotenuse.Theresultliesintherange-1to1.

Toconvertdegreestoradians,multiplydegreesbypi/180.Toconvertradianstodegrees,multiplyradiansby180/pi.

ThefollowingexampleusestheSinfunctiontoreturnthesineofanangle:

DimMyAngle,MyCosecantMyAngle=1.3'Defineangleinradians.MyCosecant=1/Sin(MyAngle)'Calculatecosecant.

Page 342: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSourceProperty

LanguageReferenceVersion1

SeeAlsoAppliesto

Description

Returnsorsetsthenameoftheobjectorapplicationthatoriginallygeneratedtheerror.

Syntax

object.Source[=stringexpression]

TheSourcepropertysyntaxhastheseparts:

Part Descriptionobject AlwaystheErrobject.

stringexpression Astringexpressionrepresentingtheapplicationthatgeneratedtheerror.

Remarks

TheSourcepropertyspecifiesastringexpressionthatisusuallytheclassnameorprogrammaticIDoftheobjectthatcausedtheerror.UseSourcetoprovideyouruserswithinformationwhenyourcodeisunabletohandleanerrorgeneratedinanaccessedobject.Forexample,ifyouaccessMicrosoftExcelanditgeneratesaDivisionbyzeroerror,MicrosoftExcelsetsErr.NumbertoitserrorcodeforthaterrorandsetsSourcetoExcel.Application.NotethatiftheerrorisgeneratedinanotherobjectcalledbyMicrosoftExcel,ExcelinterceptstheerrorandsetsErr.NumbertoitsowncodeforDivisionbyzero.However,itleavestheotherErrobject(includingSource)assetbytheobjectthatgeneratedtheerror.

Sourcealwayscontainsthenameoftheobjectthatoriginallygeneratedtheerror—yourcodecantrytohandletheerroraccordingtotheerrordocumentationoftheobjectyouaccessed.Ifyourerror

Page 343: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

handlerfails,youcanusetheErrobjectinformationtodescribetheerrortoyouruser,usingSourceandtheotherErrtoinformtheuserwhichobjectoriginallycausedtheerror,itsdescriptionoftheerror,andsoforth.

Whengeneratinganerrorfromcode,Sourceisyourapplication'sprogrammaticID.

ThefollowingcodeillustratesuseoftheSourceproperty:

OnErrorResumeNextErr.Raise6'Raiseanoverflowerror.MsgBox("Error#"&CStr(Err.Number)&""&Err.Description&Err.Clear'Cleartheerror.

Page 344: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSpaceFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsastringconsistingofthespecifiednumberofspaces.

Syntax

Space(number)

Thenumberargumentisthenumberofspacesyouwantinthestring.

Remarks

ThefollowingexampleusestheSpacefunctiontoreturnastringconsistingofaspecifiednumberofspaces:

DimMyStringMyString=Space(10)'Returnsastringwith10spaces.MyString="Hello"&Space(10)&"World"'Insert10spacesbetweentwostrings.

Page 345: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSplitFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsazero-based,one-dimensionalarraycontainingaspecifiednumberofsubstrings.

Syntax

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

TheSplitfunctionsyntaxhastheseparts:

Part Description

expression

Required.Stringexpressioncontainingsubstringsanddelimiters.Ifexpressionisazero-lengthstring,Splitreturnsanemptyarray,thatis,anarraywithnoelementsandnodata.

delimiter

Optional.Stringcharacterusedtoidentifysubstringlimits.Ifomitted,thespacecharacter("")isassumedtobethedelimiter.Ifdelimiterisazero-lengthstring,asingle-elementarraycontainingtheentireexpressionstringisreturned.

count Optional.Numberofsubstringstobereturned;-1indicatesthatallsubstringsarereturned.

compareOptional.Numericvalueindicatingthekindofcomparisontousewhenevaluatingsubstrings.SeeSettingssectionforvalues.

Settings

Page 346: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Thecompareargumentcanhavethefollowingvalues:

Constant Value DescriptionvbBinaryCompare 0 Performabinarycomparison.vbTextCompare 1 Performatextualcomparison.

Remarks

ThefollowingexampleusestheSplitfunctiontoreturnanarrayfromastring.Thefunctionperformsatextualcomparisonofthedelimiter,andreturnsallofthesubstrings.

DimMyString,MyArray,MsgMyString="VBScriptXisXfun!"MyArray=Split(MyString,"x",-1,1)'MyArray(0)contains"VBScript".'MyArray(1)contains"is".'MyArray(2)contains"fun!".Msg=MyArray(0)&""&MyArray(1)Msg=Msg&""&MyArray(2)MsgBoxMsg

Page 347: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Description

Returnsthesquarerootofanumber.

Syntax

Sqr(number)

Thenumberargumentcanbeanyvalidnumericexpressiongreaterthanorequalto0.

Remarks

ThefollowingexampleusestheSqrfunctiontocalculatethesquarerootofanumber:

DimMySqrMySqr=Sqr(4)'Returns2.MySqr=Sqr(23)'Returns4.79583152331272.MySqr=Sqr(0)'Returns0.MySqr=Sqr(-4)'Generatesarun-timeerror.

Microsoft®VisualBasic®ScriptingEditionSqrFunction

LanguageReferenceVersion1

Page 348: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

StrCompFunctionLanguageReference

Version1

Description

Returnsavalueindicatingtheresultofastringcomparison.

Syntax

StrComp(string1,string2[,compare])

TheStrCompfunctionsyntaxhasthesearguments:

Part Descriptionstring1 Required.Anyvalidstringexpression.string2 Required.Anyvalidstringexpression.

compare

Optional.Numericvalueindicatingthekindofcomparisontousewhenevaluatingstrings.Ifomitted,abinarycomparisonisperformed.SeeSettingssectionforvalues.

Settings

Thecompareargumentcanhavethefollowingvalues:

Constant Value DescriptionvbBinaryCompare 0 Performabinarycomparison.vbTextCompare 1 Performatextualcomparison.

ReturnValues

Page 349: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

TheStrCompfunctionhasthefollowingreturnvalues:

If StrCompreturnsstring1islessthanstring2 -1string1isequaltostring2 0string1isgreaterthanstring2 1string1orstring2isNull Null

Remarks

ThefollowingexampleusestheStrCompfunctiontoreturntheresultsofastringcomparison.Ifthethirdargumentis1,atextualcomparisonisperformed;ifthethirdargumentis0oromitted,abinarycomparisonisperformed.

DimMyStr1,MyStr2,MyCompMyStr1="ABCD":MyStr2="abcd"'Definevariables.MyComp=StrComp(MyStr1,MyStr2,1)'Returns0.MyComp=StrComp(MyStr1,MyStr2,0)'Returns-1.MyComp=StrComp(MyStr2,MyStr1)'Returns1.

Page 350: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionStringConstants

LanguageReferenceVersion2

SeeAlso

SincetheseconstantsarebuiltintoVBScript,youdon'thavetodefinethembeforeusingthem.Usethemanywhereinyourcodetorepresentthevaluesshownforeach.

Constant Value DescriptionvbCr Chr(13) Carriagereturn.

vbCrLf Chr(13)&Chr(10) Carriagereturn–linefeedcombination.

vbFormFeed Chr(12) Formfeed;notusefulinMicrosoftWindows.vbLf Chr(10) Linefeed.

vbNewLineChr(13)&Chr(10)orChr(10)

Platform-specificnewlinecharacter;whateverisappropriatefortheplatform.

vbNullChar Chr(0) Characterhavingthevalue0.

vbNullString Stringhavingvalue0

Notthesameasazero-lengthstring("");usedforcallingexternalprocedures.

vbTab Chr(9) Horizontaltab.vbVerticalTab Chr(11) Verticaltab;notusefulinMicrosoftWindows.

Page 351: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionStringFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsarepeatingcharacterstringofthelengthspecified.

Syntax

String(number,character)

TheStringfunctionsyntaxhasthesearguments:

Part Description

number Lengthofthereturnedstring.IfnumbercontainsNull,Nullisreturned.

character

Charactercodespecifyingthecharacterorstringexpressionwhosefirstcharacterisusedtobuildthereturnstring.IfcharactercontainsNull,Nullisreturned.

Remarks

Ifyouspecifyanumberforcharactergreaterthan255,Stringconvertsthenumbertoavalidcharactercodeusingtheformula:

characterMod256ThefollowingexampleusestheStringfunctiontoreturnrepeatingcharacterstringsofthelengthspecified:

Page 352: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimMyStringMyString=String(5,"*")'Returns"*****".MyString=String(5,42)'Returns"*****".MyString=String(10,"ABC")'Returns"AAAAAAAAAA".

Page 353: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

StrReverseFunction

LanguageReferenceVersion2

Description

Returnsastringinwhichthecharacterorderofaspecifiedstringisreversed.

Syntax

StrReverse(string1)

Thestring1argumentisthestringwhosecharactersaretobereversed.Ifstring1isazero-lengthstring(""),azero-lengthstringisreturned.Ifstring1isNull,anerroroccurs.

Remarks

ThefollowingexampleusestheStrReversefunctiontoreturnastringinreverseorder:

DimMyStrMyStr=StrReverse("VBScript")'MyStrcontains"tpircSBV".

Page 354: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSubStatement

LanguageReferenceVersion1

SeeAlso

Description

Declaresthename,arguments,andcodethatformthebodyofaSubprocedure.

Syntax

[Public[Default]|Private]Subname[(arglist)][statements][ExitSub][statements]EndSub

TheSubstatementsyntaxhastheseparts:

Part DescriptionPublic IndicatesthattheSubprocedureisaccessibletoallotherproceduresinallscripts.

DefaultUsedonlywiththePublickeywordinaClassblocktoindicatethattheSubprocedureisthedefaultmethodfortheclass.AnerroroccursifmorethanoneDefaultprocedureisspecifiedinaclass.

Private IndicatesthattheSubprocedureisaccessibleonlytootherproceduresinthescriptwhereitisdeclared.

name NameoftheSub;followsstandardvariablenamingconventions.

arglist ListofvariablesrepresentingargumentsthatarepassedtotheSubprocedurewhenitiscalled.Multiplevariablesareseparatedbycommas.

statements AnygroupofstatementstobeexecutedwithinthebodyoftheSubprocedure.

Thearglistargumenthasthefollowingsyntaxandparts:

Page 355: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

[ByVal|ByRef]varname[()]

Part DescriptionByVal Indicatesthattheargumentispassedbyvalue.

ByRef Indicatesthattheargumentispassedbyreference.

varname Nameofthevariablerepresentingtheargument;followsstandardvariablenamingconventions.

Remarks

IfnotexplicitlyspecifiedusingeitherPublicorPrivate,Subproceduresarepublicbydefault,thatis,theyarevisibletoallotherproceduresinyourscript.ThevalueoflocalvariablesinaSubprocedureisnotpreservedbetweencallstotheprocedure.

Youcan'tdefineaSubprocedureinsideanyotherprocedure(e.g.FunctionorPropertyGet).

TheExitSubstatementcausesanimmediateexitfromaSubprocedure.ProgramexecutioncontinueswiththestatementthatfollowsthestatementthatcalledtheSubprocedure.AnynumberofExitSubstatementscanappearanywhereinaSubprocedure.

LikeaFunctionprocedure,aSubprocedureisaseparateprocedurethatcantakearguments,performaseriesofstatements,andchangethevalueofitsarguments.However,unlikeaFunctionprocedure,whichreturnsavalue,aSubprocedurecan'tbeusedinanexpression.

YoucallaSubprocedureusingtheprocedurenamefollowedbytheargumentlist.SeetheCallstatementforspecificinformationonhowtocallSubprocedures.

CautionSubprocedurescanberecursive,thatis,theycancallthemselvestoperformagiven

Page 356: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

task.However,recursioncanleadtostackoverflow.

VariablesusedinSubproceduresfallintotwocategories:thosethatareexplicitlydeclaredwithintheprocedureandthosethatarenot.Variablesthatareexplicitlydeclaredinaprocedure(usingDimortheequivalent)arealwayslocaltotheprocedure.Variablesthatareusedbutnotexplicitlydeclaredinaprocedurearealsolocal,unlesstheyareexplicitlydeclaredatsomehigherleveloutsidetheprocedure.

CautionAprocedurecanuseavariablethatisnotexplicitlydeclaredintheprocedure,butanamingconflictcanoccurifanythingyouhavedefinedatthescriptlevelhasthesamename.Ifyourprocedurereferstoanundeclaredvariablethathasthesamenameasanotherprocedure,constantorvariable,itisassumedthatyourprocedureisreferringtothatscript-levelname.Toavoidthiskindofconflict,useanOptionExplicitstatementtoforceexplicitdeclarationofvariables.

Page 357: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTanFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthetangentofanangle.

Syntax

Tan(number)

Thenumberargumentcanbeanyvalidnumericexpressionthatexpressesanangleinradians.

Remarks

Tantakesanangleandreturnstheratiooftwosidesofarighttriangle.Theratioisthelengthofthesideoppositetheangledividedbythelengthofthesideadjacenttotheangle.

Toconvertdegreestoradians,multiplydegreesbypi/180.Toconvertradianstodegrees,multiplyradiansby180/pi.

ThefollowingexampleusestheTanfunctiontoreturnthetangentofanangle:

DimMyAngle,MyCotangentMyAngle=1.3'Defineangleinradians.MyCotangent=1/Tan(MyAngle)'Calculatecotangent.

Page 358: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TerminateEventLanguageReference

Version5

SeeAlsoAppliesTo

Description

Occurswhenaninstanceoftheassociatedclassisterminated.

Syntax

PrivateSubClass_Terminate()statementsEndSub

Thestatementspartconsistsofzeroormorecodestatementstoberunwhentheclassisinitialized.

Remarks

ThefollowingexampleillustratestheuseoftheTerminateevent:

ClassTestClassPrivateSubClass_Initialize 'SetupInitializeevent.MsgBox("TestClassstarted")EndSubPrivateSubClass_Terminate 'SetupTerminateevent.MsgBox("TestClassterminated")EndSubEndClass

Page 359: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SetX=NewTestClass 'CreateaninstanceofTestClass.SetX=Nothing 'Destroytheinstance.

Page 360: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TestMethodLanguageReference

Version5

SeeAlsoAppliesto

Description

ExecutesaregularexpressionsearchagainstaspecifiedstringandreturnsaBooleanvaluethatindicatesifapatternmatchwasfound.

Syntax

object.Test(string)

TheExecutemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaRegExpobject.string Required.Thetextstringuponwhichtheregularexpressionisexecuted.

Remarks

TheactualpatternfortheregularexpressionsearchissetusingthePatternpropertyoftheRegExpobject.TheRegExp.GlobalpropertyhasnoeffectontheTestmethod.

TheTestmethodreturnsTrueifapatternmatchisfound;Falseifnomatchisfound.

ThefollowingcodeillustratestheuseoftheTestmethod:

Page 361: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

FunctionRegExpTest(patrn,strng)DimregEx,retVal 'Createvariable.SetregEx=NewRegExp 'Createregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=False 'Setcasesensitivity.retVal=regEx.Test(strng) 'Executethesearchtest.IfretValThenRegExpTest="Oneormorematcheswerefound."ElseRegExpTest="Nomatchwasfound."EndIfEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 362: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTimeFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaVariantofsubtypeDateindicatingthecurrentsystemtime.

Syntax

Time

Remarks

ThefollowingexampleusestheTimefunctiontoreturnthecurrentsystemtime:

DimMyTimeMyTime=Time'Returncurrentsystemtime.

Page 363: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTimerFunction

LanguageReferenceVersion5

SeeAlso

Description

Returnsthenumberofsecondsthathaveelapsedsince12:00AM(midnight).

Syntax

Timer

Remarks

ThefollowingexampleusestheTimerfunctiontodeterminethetimeittakestoiterateaFor...NextloopNtimes:

FunctionTimeIt(N)DimStartTime,EndTimeStartTime=TimerForI=1ToNNextEndTime=TimerTimeIt=EndTime-StartTimeEndFunction

Page 364: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TimeSerialFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaVariantofsubtypeDatecontainingthetimeforaspecifichour,minute,andsecond.

Syntax

TimeSerial(hour,minute,second)

TheTimeSerialfunctionsyntaxhasthesearguments:

Part Description

hour Numberbetween0(12:00A.M.)and23(11:00P.M.),inclusive,oranumericexpression.

minute Anynumericexpression.second Anynumericexpression.

Remarks

Tospecifyatime,suchas11:59:59,therangeofnumbersforeachTimeSerialargumentshouldbeintheacceptedrangefortheunit;thatis,0–23forhoursand0–59forminutesandseconds.However,youcanalsospecifyrelativetimesforeachargumentusinganynumericexpressionthatrepresentssomenumberofhours,minutes,orsecondsbeforeorafteracertaintime.

Thefollowingexampleusesexpressionsinsteadofabsolutetimenumbers.TheTimeSerialfunctionreturnsatimefor15minutesbefore(-15)sixhoursbeforenoon(12-6),or5:45:00A.M.

DimMyTime1

Page 365: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyTime1=TimeSerial(12-6,-15,0)'Returns5:45:00AM.Whenanyargumentexceedstheacceptedrangeforthatargument,itincrementstothenextlargerunitasappropriate.Forexample,ifyouspecify75minutes,itisevaluatedasonehourand15minutes.However,ifanysingleargumentisoutsidetherange-32,768to32,767,orifthetimespecifiedbythethreearguments,eitherdirectlyorbyexpression,causesthedatetofalloutsidetheacceptablerangeofdates,anerroroccurs.

Page 366: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TimeValueFunction

LanguageReferenceVersion1

SeeAlso

Description

ReturnsaVariantofsubtypeDatecontainingthetime.

Syntax

TimeValue(time)

Thetimeargumentisusuallyastringexpressionrepresentingatimefrom0:00:00(12:00:00A.M.)to23:59:59(11:59:59P.M.),inclusive.However,timecanalsobeanyexpressionthatrepresentsatimeinthatrange.IftimecontainsNull,Nullisreturned.

Remarks

Youcanentervalidtimesusinga12-houror24-hourclock.Forexample,"2:24PM"and"14:24"arebothvalidtimearguments.Ifthetimeargumentcontainsdateinformation,TimeValuedoesn'treturnthedateinformation.However,iftimeincludesinvaliddateinformation,anerroroccurs.

ThefollowingexampleusestheTimeValuefunctiontoconvertastringtoatime.YoucanalsousedateliteralstodirectlyassignatimetoaVariant(forexample,MyTime=#4:35:17PM#).

DimMyTimeMyTime=TimeValue("4:35:17PM")'MyTimecontains4:35:17PM.

Page 367: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTrueLanguageReference

Version1

SeeAlso

Description

TheTruekeywordhasavalueequalto-1.

Page 368: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TypeNameFunction

LanguageReferenceVersion2

SeeAlso

Description

ReturnsastringthatprovidesVariantsubtypeinformationaboutavariable.

Syntax

TypeName(varname)

Therequiredvarnameargumentcanbeanyvariable.

ReturnValues

TheTypeNamefunctionhasthefollowingreturnvalues:

Value DescriptionByte BytevalueInteger IntegervalueLong LongintegervalueSingle Single-precisionfloating-pointvalueDouble Double-precisionfloating-pointvalueCurrency CurrencyvalueDecimal DecimalvalueDate DateortimevalueString CharacterstringvalueBoolean Booleanvalue;TrueorFalseEmpty UnitializedNull Novaliddata

Page 369: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

<object;type>

Actualtypenameofanobject

Object GenericobjectUnknown Unknownobjecttype

Nothing Objectvariablethatdoesn'tyetrefertoanobjectinstance

Error Error

Remarks

ThefollowingexampleusestheTypeNamefunctiontoreturninformationaboutavariable:

DimArrayVar(4),MyTypeNullVar=Null 'AssignNullvalue.

MyType=TypeName("VBScript")'Returns"String".MyType=TypeName(4)'Returns"Integer".MyType=TypeName(37.50)'Returns"Double".MyType=TypeName(NullVar)'Returns"Null".MyType=TypeName(ArrayVar)'Returns"Variant()".

Page 370: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionUBoundFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsthelargestavailablesubscriptfortheindicateddimensionofanarray.

Syntax

UBound(arrayname[,dimension])

TheUBoundfunctionsyntaxhastheseparts:

Part Description

arrayname Required.Nameofthearrayvariable;followsstandardvariablenamingconventions.

dimension

Optional.Wholenumberindicatingwhichdimension'supperboundisreturned.Use1forthefirstdimension,2forthesecond,andsoon.Ifdimensionisomitted,1isassumed.

Remarks

TheUBoundfunctionisusedwiththeLBoundfunctiontodeterminethesizeofanarray.UsetheLBoundfunctiontofindthelowerlimitofanarraydimension.

Thelowerboundforanydimensionisalways0.Asaresult,UBoundreturnsthefollowingvaluesforanarraywiththesedimensions:

DimA(100,3,4)

Page 371: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Statement ReturnValueUBound(A,1) 100UBound(A,2) 3UBound(A,3) 4

Page 372: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionUCaseFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsastringthathasbeenconvertedtouppercase.

Syntax

UCase(string)

Thestringargumentisanyvalidstringexpression.IfstringcontainsNull,Nullisreturned.

Remarks

Onlylowercaselettersareconvertedtouppercase;alluppercaselettersandnonlettercharactersremainunchanged.

ThefollowingexampleusestheUCasefunctiontoreturnanuppercaseversionofastring:

DimMyWordMyWord=UCase("HelloWorld")'Returns"HELLOWORLD".

Page 373: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionValueProperty

LanguageReferenceVersion5

SeeAlsoAppliesTo

Description

Returnsthevalueortextofamatchfoundinasearchstring.

Syntax

object.Value

TheobjectargumentisalwaysaMatchobject.

Remarks

ThefollowingcodeillustratestheuseoftheValueproperty:

FunctionRegExpTest(patrn,strng)DimregEx,Match,Matches 'Createvariable.SetregEx=NewRegExp 'Createregularexpression.regEx.Pattern=patrn 'Setpattern.regEx.IgnoreCase=True 'Setcaseinsensitivity.regEx.Global=True 'Setglobalapplicability.SetMatches=regEx.Execute(strng) 'Executesearch.ForEachMatchinMatches 'IterateMatchescollection.RetStr=RetStr&"Match"&I&"foundatposition"RetStr=RetStr&Match.FirstIndex&".MatchValueis"'RetStr=RetStr&Match.Value&"'."&vbCRLF

Page 374: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NextRegExpTest=RetStrEndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

Page 375: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VarTypeConstants

LanguageReferenceVersion2

SeeAlso

Theseconstantsareonlyavailablewhenyourprojecthasanexplicitreferencetotheappropriatetypelibrarycontainingtheseconstantdefinitions.ForVBScript,youmustexplicitlydeclaretheseconstantsinyourcode.

Constant Value DescriptionvbEmpty 0 Uninitialized(default)vbNull 1 ContainsnovaliddatavbInteger 2 IntegersubtypevbLong 3 LongsubtypevbSingle 4 SinglesubtypevbSingle 5 DoublesubtypevbCurrency 6 CurrencysubtypevbDate 7 DatesubtypevbString 8 StringsubtypevbObject 9 ObjectvbError 10 ErrorsubtypevbBoolean 11 BooleansubtypevbVariant 12 Variant(usedonlyforarraysofvariants)vbDataObject 13 DataaccessobjectvbDecimal 14 DecimalsubtypevbByte 17 BytesubtypevbArray 8192 Array

Page 376: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VarTypeFunctionLanguageReference

Version1

SeeAlso

Description

Returnsavalueindicatingthesubtypeofavariable.

Syntax

VarType(varname)

Thevarnameargumentcanbeanyvariable.

ReturnValues

TheVarTypefunctionreturnsthefollowingvalues:

Constant Value DescriptionvbEmpty 0 Empty(uninitialized)vbNull 1 Null(novaliddata)vbInteger 2 IntegervbLong 3 LongintegervbSingle 4 Single-precisionfloating-pointnumbervbDouble 5 Double-precisionfloating-pointnumbervbCurrency 6 CurrencyvbDate 7 DatevbString 8 StringvbObject 9 AutomationobjectvbError 10 ErrorvbBoolean 11 Boolean

vbVariant 12 Variant(usedonlywitharraysofVariants)

Page 377: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbDataObject 13 Adata-accessobjectvbByte 17 BytevbArray 8192 Array

NoteTheseconstantsarespecifiedbyVBScript.Asaresult,thenamescanbeusedanywhereinyourcodeinplaceoftheactualvalues.

Remarks

TheVarTypefunctionneverreturnsthevalueforArraybyitself.Itisalwaysaddedtosomeothervaluetoindicateanarrayofaparticulartype.ThevalueforVariantisonlyreturnedwhenithasbeenaddedtothevalueforArraytoindicatethattheargumenttotheVarTypefunctionisanarray.Forexample,thevaluereturnedforanarrayofintegersiscalculatedas2+8192,or8194.Ifanobjecthasadefaultproperty,VarType(object)returnsthetypeofitsdefaultproperty.

ThefollowingexampleusestheVarTypefunctiontodeterminethesubtypeofavariable.

DimMyCheckMyCheck=VarType(300)'Returns2.MyCheck=VarType(#10/19/62#)'Returns7.MyCheck=VarType("VBScript")'Returns8.

Page 378: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptConstants

LanguageReferenceVersion2

SeeAlso

AnumberofusefulconstantsyoucanuseinyourcodearebuiltintoVBScript.Constantsprovideaconvenientwaytousespecificvalueswithoutactuallyhavingtorememberthevalueitself.Usingconstantsalsomakesyourcodemoremaintainableshouldthevalueofanyconstanteverchange.BecausetheseconstantsarealreadydefinedinVBScript,youdon'tneedtoexplicitlydeclaretheminyourcode.Simplyusetheminplaceofthevaluestheyrepresent.

HerearethevariouscategoriesofconstantsprovidedinVBScriptandabriefdescriptionofeach:

ColorConstantsDefineseightbasiccolorsthatcanbeusedinscripting.

DateandTimeConstantsDefinesdateandtimeconstantsusedbyvariousdateandtimefunctions.

DateFormatConstantsDefinesconstantsusedtoformatdatesandtimes.

MiscellaneousConstantsDefinesconstantsthatdon'tconvenientlyfitintoanyothercategory.

MsgBoxConstantsDefinesconstantsusedintheMsgBoxfunctiontodescribebuttonvisibility,labeling,behavior,andreturnvalues.

StringConstantsDefinesavarietyofnon-printablecharactersusedinstringmanipulation.

TristateConstantsDefinesconstantsusedwithfunctionsthatformatnumbers.

VarTypeConstantsDefinesthevariousVariantsubtypes.

Page 379: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WeekdayFunctionLanguageReference

Version1

SeeAlso

Description

Returnsawholenumberrepresentingthedayoftheweek.

Syntax

Weekday(date,[firstdayofweek])

TheWeekdayfunctionsyntaxhasthesearguments:

Part Description

date Anyexpressionthatcanrepresentadate.IfdatecontainsNull,Nullisreturned.

firstdayofweek Aconstantthatspecifiesthefirstdayoftheweek.Ifomitted,vbSundayisassumed.

Settings

Thefirstdayofweekargumenthasthesesettings:

Constant Value Description

vbUseSystem 0 UseNationalLanguageSupport(NLS)APIsetting.

vbSunday 1 SundayvbMonday 2 MondayvbTuesday 3 TuesdayvbWednesday 4 WednesdayvbThursday 5 ThursdayvbFriday 6 FridayvbSaturday 7 Saturday

Page 380: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ReturnValues

TheWeekdayfunctioncanreturnanyofthesevalues:

Constant Value DescriptionvbSunday 1 SundayvbMonday 2 MondayvbTuesday 3 TuesdayvbWednesday 4 WednesdayvbThursday 5 ThursdayvbFriday 6 FridayvbSaturday 7 Saturday

Remarks

ThefollowingexampleusestheWeekdayfunctiontoobtainthedayoftheweekfromaspecifieddate:

DimMyDate,MyWeekDayMyDate=#October19,1962#'Assignadate.MyWeekDay=Weekday(MyDate)'MyWeekDaycontains6because'MyDaterepresentsaFriday.

Page 381: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

While...WendStatement

LanguageReferenceVersion1

SeeAlso

Description

ExecutesaseriesofstatementsaslongasagivenconditionisTrue.

Syntax

WhileconditionVersion[statements]Wend

TheWhile...Wendstatementsyntaxhastheseparts:

Part Description

conditionNumericorstringexpressionthatevaluatestoTrueorFalse.IfconditionisNull,conditionistreatedasFalse.

statements OneormorestatementsexecutedwhileconditionisTrue.

Remarks

IfconditionisTrue,allstatementsinstatementsareexecuteduntiltheWendstatementisencountered.ControlthenreturnstotheWhilestatementandconditionisagainchecked.IfconditionisstillTrue,theprocessisrepeated.IfitisnotTrue,executionresumeswiththestatementfollowingtheWendstatement.

While...Wendloopscanbenestedtoanylevel.EachWendmatchesthemostrecentWhile.

Page 382: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

TipTheDo...Loopstatementprovidesamorestructuredandflexiblewaytoperformlooping.

ThefollowingexampleillustratesuseoftheWhile...Wendstatement:

DimCounterCounter=0'Initializevariable.WhileCounter<20'TestvalueofCounter.Counter=Counter+1'IncrementCounter.AlertCounterWend'EndWhileloopwhenCounter>19.

Page 383: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionWithStatement

LanguageReferenceVersion5

SeeAlso

Description

Executesaseriesofstatementsonasingleobject.

Syntax

WithobjectstatementsEndWith

TheWithstatementsyntaxhastheseparts:

Part Descriptionobject Required.Nameofanobjectorafunctionthatreturnsanobject.

statements Required.Oneormorestatementstobeexecutedonobject.

Remarks

TheWithstatementallowsyoutoperformaseriesofstatementsonaspecifiedobjectwithoutrequalifyingthenameoftheobject.Forexample,tochangeanumberofdifferentpropertiesonasingleobject,placethepropertyassignmentstatementswithintheWithcontrolstructure,referringtotheobjectonceinsteadofreferringtoitwitheachpropertyassignment.ThefollowingexampleillustratesuseoftheWithstatementtoassignvaluestoseveralpropertiesofthesameobject.

Page 384: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

WithMyLabel.Height=2000.Width=2000.Caption="ThisisMyLabel"EndWith

WhilepropertymanipulationisanimportantaspectofWithfunctionality,itisnottheonlyuse.AnylegalcodecanbeusedwithinaWithblock.

NoteOnceaWithblockisentered,objectcan'tbechanged.Asaresult,youcan'tuseasingleWithstatementtoaffectanumberofdifferentobjects.

YoucannestWithstatementsbyplacingoneWithblockwithinanother.However,becausemembersofouterWithblocksaremaskedwithintheinnerWithblocks,youmustprovideafullyqualifiedobjectreferenceinaninnerWithblocktoanymemberofanobjectinanouterWithblock.

ImportantDonotjumpintooroutofWithblocks.IfstatementsinaWithblockareexecuted,buteithertheWithorEndWithstatementisnotexecuted,youmaygeterrorsorunpredictablebehavior.

Page 385: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionXorOperator

LanguageReferenceVersion1

SeeAlso

Description

Performsalogicalexclusionontwoexpressions.

Syntax

result=expression1Xorexpression2

TheXoroperatorsyntaxhastheseparts:

Part Descriptionresult Anynumericvariable.expression1 Anyexpression.expression2 Anyexpression.

Remarks

Ifone,andonlyone,oftheexpressionsevaluatestoTrue,resultisTrue.However,ifeitherexpressionisNull,resultisalsoNull.WhenneitherexpressionisNull,resultisdeterminedaccordingtothefollowingtable:

Ifexpression1is Andexpression2is ThenresultisTrue True FalseTrue False TrueFalse True TrueFalse False False

TheXoroperatoralsoperformsabitwisecomparisonofidentically

Page 386: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

positionedbitsintwonumericexpressionsandsetsthecorrespondingbitinresultaccordingtothefollowingtable:

Ifbitinexpression1is Andbitinexpression2is Thenresultis

0 0 00 1 11 0 11 1 0

Page 387: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionYearFunction

LanguageReferenceVersion1

SeeAlso

Description

Returnsawholenumberrepresentingtheyear.

Syntax

Year(date)

Thedateargumentisanyexpressionthatcanrepresentadate.IfdatecontainsNull,Nullisreturned.

Remarks

ThefollowingexampleusestheYearfunctiontoobtaintheyearfromaspecifieddate:

DimMyDate,MyYearMyDate=#October19,1962#'Assignadate.MyYear=Year(MyDate)'MyYearcontains1962.

Page 388: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionColorConstants

LanguageReferenceVersion2

SeeAlso

SincetheseconstantsarebuiltintoVBScript,youdon'thavetodefinethembeforeusingthem.Usethemanywhereinyourcodetorepresentthevaluesshownforeach.

Constant Value DescriptionvbBlack &h00; BlackvbRed &hFF; RedvbGreen &hFF00; GreenvbYellow &hFFFF; YellowvbBlue &hFF0000; BluevbMagenta &hFF00FF; MagentavbCyan &hFFFF00; CyanvbWhite &hFFFFFF; White

Page 389: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTristateConstants

LanguageReferenceVersion2

SeeAlso

SincetheseconstantsarebuiltintoVBScript,youdon'thavetodefinethembeforeusingthem.Usethemanywhereinyourcodetorepresentthevaluesshownforeach.

Constant Value Description

vbUseDefault -2 Usedefaultfromcomputer'sregionalsettings.

vbTrue -1 TruevbFalse 0 False

Page 390: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptRun-timeErrors

LanguageReferenceVersion1

VBScriptSyntaxErrors

ErrorNumber Description5 Invalidprocedurecallorargument6 Overflow7 Outofmemory9 Subscriptoutofrange10 Thisarrayisfixedortemporarilylocked11 Divisionbyzero13 Typemismatch14 Outofstringspace17 Can'tperformrequestedoperation28 Outofstackspace35 SuborFunctionnotdefined48 ErrorinloadingDLL51 Internalerror52 Badfilenameornumber53 Filenotfound54 Badfilemode55 Filealreadyopen57 DeviceI/Oerror58 Filealreadyexists61 Diskfull62 Inputpastendoffile67 Toomanyfiles68 Deviceunavailable70 Permissiondenied71 Disknotready74 Can'trenamewithdifferentdrive75 Path/Fileaccesserror76 Pathnotfound91 Objectvariablenotset

Page 391: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

92 Forloopnotinitialized94 InvaliduseofNull322 Can'tcreatenecessarytemporaryfile424 Objectrequired429 ActiveXcomponentcan'tcreateobject430 Classdoesn'tsupportAutomation432 FilenameorclassnamenotfoundduringAutomationoperation438 Objectdoesn'tsupportthispropertyormethod440 Automationerror445 Objectdoesn'tsupportthisaction446 Objectdoesn'tsupportnamedarguments447 Objectdoesn'tsupportcurrentlocalesetting448 Namedargumentnotfound449 Argumentnotoptional450 Wrongnumberofargumentsorinvalidpropertyassignment451 Objectnotacollection453 SpecifiedDLLfunctionnotfound455 Coderesourcelockerror458 VariableusesanAutomationtypenotsupportedinVBScript462 Theremoteservermachinedoesnotexistorisunavailable481 Invalidpicture500 Variableisundefined501 Illegalassignment502 Objectnotsafeforscripting503 Objectnotsafeforinitializing504 Objectnotsafeforcreating505 Invalidorunqualifiedreference506 Classnotdefined507 Anexceptionoccurred5016 RegularExpressionobjectexpected5017 Syntaxerrorinregularexpression5018 Unexpectedquantifier5019 Expected']'inregularexpression5020 Expected')'inregularexpression5021 Invalidrangeincharacterset32811 Elementnotfound

Page 392: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptSyntaxErrors

LanguageReferenceVersion1

VBScriptRun-timeErrors

ErrorNumber Description1001 Outofmemory1002 Syntaxerror1003 Expected':'1005 Expected'('1006 Expected')'1007 Expected']'1010 Expectedidentifier1011 Expected'='1012 Expected'If'1013 Expected'To'1014 Expected'End'1015 Expected'Function'1016 Expected'Sub'1017 Expected'Then'1018 Expected'Wend'1019 Expected'Loop'1020 Expected'Next'1021 Expected'Case'1022 Expected'Select'1023 Expectedexpression1024 Expectedstatement1025 Expectedendofstatement1026 Expectedintegerconstant1027 Expected'While'or'Until'1028 Expected'While','Until'orendofstatement1029 Expected'With'1030 Identifiertoolong1031 Invalidnumber1032 Invalidcharacter

Page 393: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

1033 Unterminatedstringconstant1034 Unterminatedcomment1037 Invaliduseof'Me'keyword1038 'loop'without'do'1039 Invalid'exit'statement1040 Invalid'for'loopcontrolvariable1041 Nameredefined1042 Mustbefirststatementontheline1043 Cannotassigntonon-ByValargument1044 CannotuseparentheseswhencallingaSub1045 Expectedliteralconstant1046 Expected'In'1047 Expected'Class'1048 MustbedefinedinsideaClass1049 ExpectedLetorSetorGetinpropertydeclaration1050 Expected'Property'

1051 Numberofargumentsmustbeconsistentacrosspropertiesspecification

1052 Cannothavemultipledefaultproperty/methodinaClass1053 Classinitializeorterminatedonothavearguments1054 Propertysetorletmusthaveatleastoneargument1055 Unexpected'Next'1056 'Default'canbespecifiedonlyon'Property'or'Function'or'Sub'1057 'Default'specificationmustalsospecify'Public'")1058 'Default'specificationcanonlybeonPropertyGet

Page 394: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

<operator">operator"><=operator">=operator">operator"><operator;lessthanoperator;>operator;greaterthanoperator;<=operator;lessthanorequaltooperator;>=operator;greaterthanorequaltooperator;=operator;equaloperator;operator;notequaloperator;stringcomparison;Empty">Microsoft®VisualBasic®ScriptingEdition

ComparisonOperators

LanguageReferenceVersion1

SeeAlso

Description

Usedtocompareexpressions.

Syntax

result=expression1comparisonoperatorexpression2

result=object1Isobject2

Comparisonoperatorshavetheseparts:

Part Descriptionresult Anynumericvariable.expression Anyexpression.comparisonoperator Anycomparisonoperator.object Anyobjectname.

Remarks

TheIsoperatorhasspecificcomparisonfunctionalitythatdiffersfromtheoperatorsinthefollowingtable.ThefollowingtablecontainsalistofthecomparisonoperatorsandtheconditionsthatdeterminewhetherresultisTrue,False,orNull:

Operator Description Trueif Falseif Nullif

Page 395: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

< Lessthanexpression1<expression2

expression1>=expression2

expression1orexpression2=Null

<= Lessthanorequalto

expression1<=expression2

expression1>expression2

expression1orexpression2=Null

> Greaterthan

expression1>expression2

expression1<=expression2

expression1orexpression2=Null

>=Greaterthanorequalto

expression1>=expression2

expression1<expression2

expression1orexpression2=Null

= Equaltoexpression1=expression2

expression1<>expression2

expression1orexpression2=Null

<> Notequaltoexpression1<>expression2

expression1=expression2

expression1orexpression2=Null

Whencomparingtwoexpressions,youmaynotbeabletoeasilydeterminewhethertheexpressionsarebeingcomparedasnumbersorasstrings.

Thefollowingtableshowshowexpressionsarecomparedorwhatresultsfromthecomparison,dependingontheunderlyingsubtype:

If ThenBothexpressionsarenumeric Performanumericcomparison.

Bothexpressionsarestrings Performastringcomparison.

Oneexpressionisnumericandtheotherisastring

Thenumericexpressionislessthanthestringexpression.

OneexpressionisEmptyandtheotherisnumeric

Performanumericcomparison,using0astheEmptyexpression.

Page 396: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

OneexpressionisEmptyandtheotherisastring

Performastringcomparison,usingazero-lengthstring("")astheEmptyexpression.

BothexpressionsareEmpty Theexpressionsareequal.

Page 397: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptLanguageReference

VBScriptTutorialVersionInformation

FeatureInformation

AlphabeticKeywordList

Constants

Errors

Events

Functions

Methods

Objects

Operators

WelcometotheVBScriptLanguageReference

ThesehandyblocksofinformationwillhelpyouexplorethemanydifferentpartsoftheVisualBasicScriptinglanguage.

You'llfindallthepartsoftheVBScriptlanguagelistedalphabeticallyundertheAlphabeticKeywordList.Butifyouwanttoexaminejustonecategory,say,objects,eachlanguagecategoryhasitsown,morecompactsection.

How'sitwork?Clickononeoftheheadingstothelefttodisplayalistofitemscontainedinthatcategory.Fromthislist,selectthetopicthatyouwanttoview.Onceyou'veopenedthattopic,youcaneasilylinktootherrelatedsections.

So,goaheadandtakealook!Studysomestatements,mulloverthemethods,orfigureout

Page 398: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Properties

Statements

afewfunctions.You'llseejusthowversatiletheVBScriptlanguagecanbe!

©1999MicrosoftCorporation.Allrightsreserved.

Page 399: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAddMethod(Dictionary)

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

AddsakeyanditempairtoaDictionaryobject.

Syntax

object.Addkey,item

TheAddmethodhasthefollowingparts:

Part Descriptionobject Required.AlwaysthenameofaDictionaryobject.key Required.Thekeyassociatedwiththeitembeingadded.item Required.Theitemassociatedwiththekeybeingadded.

Remarks

Anerroroccursifthekeyalreadyexists.

ThefollowingexampleillustratestheuseoftheAddmethod:

Dimd'Createavariable.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"

Page 400: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 401: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAddMethod(Folders)

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

AddsanewFoldertoaFolderscollection.

Syntax

object.Add(folderName)

TheAddmethodhasthefollowingparts:

Part Descriptionobject Required.AlwaysthenameofaFolderscollection.

folderName Required.ThenameofthenewFolderbeingadded.

Remarks

ThefollowingexampleillustratestheuseoftheAddmethodtoaddanewfolder:

SubAddNewFolder(path,folderName)Dimfso,f,fc,nfSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(path)Setfc=f.SubFoldersIffolderName<>""ThenSetnf=fc.Add(folderName)ElseSetnf=fc.Add("NewFolder")

Page 402: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndIfEndSub

AnerroroccursiffolderNamealreadyexists.

Page 403: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AtEndOfLineProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ReturnsTrueifthefilepointerimmediatelyprecedestheend-of-linemarkerinaTextStreamfile;Falseifitisnot.Read-only.

Syntax

object.AtEndOfLine

TheobjectisalwaysthenameofaTextStreamobject.

Remarks

TheAtEndOfLinepropertyappliesonlytoTextStreamfilesthatareopenforreading;otherwise,anerroroccurs.

ThefollowingcodeillustratestheuseoftheAtEndOfLineproperty:

FunctionReadEntireFile(filespec)ConstForReading=1Dimfso,theFile,retstringSetfso=CreateObject("Scripting.FileSystemObject")SettheFile=fso.OpenTextFile(filespec,ForReading,False)DoWhiletheFile.AtEndOfLine<>Trueretstring=theFile.Read(1)Loop

Page 404: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

theFile.CloseReadEntireFile=retstringEndFunction

Page 405: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AtEndOfStreamProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ReturnsTrueifthefilepointerisattheendofaTextStreamfile;Falseifitisnot.Read-only.

Syntax

object.AtEndOfStream

TheobjectisalwaysthenameofaTextStreamobject.

Remarks

TheAtEndOfStreampropertyappliesonlytoTextStreamfilesthatareopenforreading,otherwise,anerroroccurs.

ThefollowingcodeillustratestheuseoftheAtEndOfStreamproperty:

FunctionReadEntireFile(filespec)ConstForReading=1Dimfso,theFile,retstringSetfso=CreateObject("Scripting.FileSystemObject")SettheFile=fso.OpenTextFile(filespec,ForReading,False)DoWhiletheFile.AtEndOfStream<>Trueretstring=theFile.ReadLineLoop

Page 406: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

theFile.CloseReadEntireFile=retstringEndFunction

Page 407: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AttributesProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Setsorreturnstheattributesoffilesorfolders.Read/writeorread-only,dependingontheattribute.

Syntax

object.Attributes[=newattributes]

TheAttributespropertyhastheseparts:

Part Description

object Required.AlwaysthenameofaFileorFolderobject.

newattributes Optional.Ifprovided,newattributesisthenewvaluefortheattributesofthespecifiedobject.

Settings

Thenewattributesargumentcanhaveanyofthefollowingvaluesoranylogicalcombinationofthefollowingvalues:

Constant Value DescriptionNormal 0 Normalfile.Noattributesareset.ReadOnly 1 Read-onlyfile.Attributeisread/write.Hidden 2 Hiddenfile.Attributeisread/write.System 4 Systemfile.Attributeisread/write.Directory 16 Folderordirectory.Attributeisread-only.

Page 408: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Archive 32 Filehaschangedsincelastbackup.Attributeisread/write.

Alias 1024 Linkorshortcut.Attributeisread-only.Compressed 2048 Compressedfile.Attributeisread-only.

Remarks

Attemptstochangeanyoftheread-onlyattributes(Alias,Compressed,orDirectory)areignored.

Whensettingattributes,itisgenerallyagoodideatofirstreadthecurrentattributes,thenchangetheindividualattributesasdesired,andfinallywritetheattributesback.

ThefollowingcodeillustratestheuseoftheAttributespropertywithafile:

FunctionToggleArchiveBit(filespec)Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)Iff.attributesand32Thenf.attributes=f.attributes-32ToggleArchiveBit="Archivebitiscleared."Elsef.attributes=f.attributes+32ToggleArchiveBit="Archivebitisset."EndIfEndFunction

Page 409: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AvailableSpaceProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnstheamountofspaceavailabletoauseronthespecifieddriveornetworkshare.

Syntax

object.AvailableSpace

TheobjectisalwaysaDriveobject.

Remarks

ThevaluereturnedbytheAvailableSpacepropertyistypicallythesameasthatreturnedbytheFreeSpaceproperty.Differencesmayoccurbetweenthetwoforcomputersystemsthatsupportquotas.

ThefollowingcodeillustratestheuseoftheAvailableSpaceproperty:

FunctionShowAvailableSpace(drvPath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(drvPath))s="Drive"&UCase(drvPath)&"-"s=s&d.VolumeName&"<BR>"s=s&"AvailableSpace:"&FormatNumber(d.AvailableSpace/1024,0)s=s&"Kbytes"ShowAvailableSpace=sEndFunction

Page 410: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 411: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

BuildPathMethodScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

Appendsanametoanexistingpath.

Syntax

object.BuildPath(path,name)

TheBuildPathmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

pathRequired.Existingpathtowhichnameisappended.Pathcanbeabsoluteorrelativeandneednotspecifyanexistingfolder.

name Required.Namebeingappendedtotheexistingpath.

Remarks

TheBuildPathmethodinsertsanadditionalpathseparatorbetweentheexistingpathandthename,onlyifnecessary.

ThefollowingexampleillustratesuseoftheBuildPathmethod:

FunctionGetBuildPath(path)Dimfso,newpathSetfso=CreateObject("Scripting.FileSystemObject")newpath=fso.BuildPath(path,"SubFolder")GetBuildPath=newpath

Page 412: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndFunction

Page 413: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCloseMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ClosesanopenTextStreamfile.

Syntax

object.Close

TheobjectisalwaysthenameofaTextStreamobject.

Remarks

ThefollowingexampleillustratesuseoftheClosemethodtocloseanopenTextStreamfile:

SubCreateAFileDimfso,MyFileSetfso=CreateObject("Scripting.FileSystemObject")SetMyFile=fso.CreateTextFile("c:\testfile.txt",True)MyFile.WriteLine("Thisisatest.")MyFile.CloseEndSub

Page 414: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionColumnProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

Read-onlypropertythatreturnsthecolumnnumberofthecurrentcharacterpositioninaTextStreamfile.

Syntax

object.Column

TheobjectisalwaysthenameofaTextStreamobject.

Remarks

Afteranewlinecharacterhasbeenwritten,butbeforeanyothercharacteriswritten,Columnisequalto1.

ThefollowingexampleillustratesuseoftheColumnproperty:

FunctionGetColumnConstForReading=1,ForWriting=2Dimfso,f,mSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.Write"Helloworld!"f.CloseSetf=fso.OpenTextFile("c:\testfile.txt",ForReading)m=f.ReadLine

Page 415: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

GetColumn=f.ColumnEndFunction

Page 416: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CompareModeProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

SetsandreturnsthecomparisonmodeforcomparingstringkeysinaDictionaryobject.

Syntax

object.CompareMode[=compare]

TheCompareModepropertyhasthefollowingparts:

Part Descriptionobject Required.AlwaysthenameofaDictionaryobject.

compareOptional.Ifprovided,compareisavaluerepresentingthecomparisonmodeusedbyfunctionssuchasStrComp.

Settings

Thecompareargumenthasthefollowingsettings:

Constant Value Description

vbBinaryCompare 0Performabinarycomparison.

vbTextCompare 1Performatextualcomparison.

Remarks

Valuesgreaterthan2canbeusedtorefertocomparisonsusingspecific

Page 417: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

LocaleIDs(LCID).AnerroroccursifyoutrytochangethecomparisonmodeofaDictionaryobjectthatalreadycontainsdata.

TheCompareModepropertyusesthesamevaluesasthecompareargumentfortheStrCompfunction.

ThefollowingexampleillustratesuseoftheCompareModeproperty:

DimdSetd=CreateObject("Scripting.Dictionary")d.CompareMode=vbTextCompared.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"d.Add"B","Baltimore"'Addmethodfailsonthislinebecausethe'letterbalreadyexistsintheDictionary.

Page 418: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCopyMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Copiesaspecifiedfileorfolderfromonelocationtoanother.

Syntax

object.Copydestination[,overwrite]

TheCopymethodsyntaxhastheseparts:

Part Description

object Required.AlwaysthenameofaFileorFolderobject.

destination Required.Destinationwherethefileorfolderistobecopied.Wildcardcharactersarenotallowed.

overwriteOptional.BooleanvaluethatisTrue(default)ifexistingfilesorfoldersaretobeoverwritten;Falseiftheyarenot.

Remarks

TheresultsoftheCopymethodonaFileorFolderareidenticaltooperationsperformedusingFileSystemObject.CopyFileorFileSystemObject.CopyFolderwherethefileorfolderreferredtobyobjectispassedasanargument.Youshouldnote,however,thatthealternativemethodsarecapableofcopyingmultiplefilesorfolders.

ThefollowingexampleillustratesuseoftheCopymethod:

Dimfso,MyFile

Page 419: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Setfso=CreateObject("Scripting.FileSystemObject")SetMyFile=fso.CreateTextFile("c:\testfile.txt",True)MyFile.WriteLine("Thisisatest.")MyFile.CloseSetMyFile=fso.GetFile("c:\testfile.txt")MyFile.Copy("c:\windows\desktop\test2.txt")

Page 420: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CopyFileMethodScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

Copiesoneormorefilesfromonelocationtoanother.

Syntax

object.CopyFilesource,destination[,overwrite]

TheCopyFilemethodsyntaxhastheseparts:

Part Description

object Required.TheobjectisalwaysthenameofaFileSystemObject.

sourceRequired.Characterstringfilespecification,whichcanincludewildcardcharacters,foroneormorefilestobecopied.

destinationRequired.Characterstringdestinationwherethefileorfilesfromsourcearetobecopied.Wildcardcharactersarenotallowed.

overwrite

Optional.Booleanvaluethatindicatesifexistingfilesaretobeoverwritten.IfTrue,filesareoverwritten;ifFalse,theyarenot.ThedefaultisTrue.NotethatCopyFilewillfailifdestinationhastheread-onlyattributeset,regardlessofthevalueofoverwrite.

Remarks

Wildcardcharacterscanonlybeusedinthelastpathcomponentofthesourceargument.Forexample,youcanuse:

Page 421: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

FileSystemObject.CopyFile"c:\mydocuments\letters\*.doc","c:\tempfolder\"

Butyoucan'tuse:

FileSystemObject.CopyFile"c:\mydocuments\*\R1???97.xls","c:\tempfolder"

Ifsourcecontainswildcardcharactersordestinationendswithapathseparator(\),itisassumedthatdestinationisanexistingfolderinwhichtocopymatchingfiles.Otherwise,destinationisassumedtobethenameofafiletocreate.Ineithercase,threethingscanhappenwhenanindividualfileiscopied.

Ifdestinationdoesnotexist,sourcegetscopied.Thisistheusualcase.

Ifdestinationisanexistingfile,anerroroccursifoverwriteisFalse.Otherwise,anattemptismadetocopysourceovertheexistingfile.

Ifdestinationisadirectory,anerroroccurs.

Anerroralsooccursifasourceusingwildcardcharactersdoesn'tmatchanyfiles.TheCopyFilemethodstopsonthefirsterroritencounters.Noattemptismadetorollbackorundoanychangesmadebeforeanerroroccurs.

Page 422: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CopyFolderMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Recursivelycopiesafolderfromonelocationtoanother.

Syntax

object.CopyFoldersource,destination[,overwrite]

TheCopyFoldermethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

sourceRequired.Characterstringfolderspecification,whichcanincludewildcardcharacters,foroneormorefolderstobecopied.

destinationRequired.Characterstringdestinationwherethefolderandsubfoldersfromsourcearetobecopied.Wildcardcharactersarenotallowed.

overwrite

Optional.Booleanvaluethatindicatesifexistingfoldersaretobeoverwritten.IfTrue,filesareoverwritten;ifFalse,theyarenot.ThedefaultisTrue.

Remarks

Wildcardcharacterscanonlybeusedinthelastpathcomponentofthesourceargument.Forexample,youcanuse:

FileSystemObject.CopyFolder"c:\mydocuments\letters\*","c:\tempfolder\"

Page 423: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Butyoucan'tuse:

FileSystemObject.CopyFolder"c:\mydocuments\*\*","c:\tempfolder\"

Ifsourcecontainswildcardcharactersordestinationendswithapathseparator(\),itisassumedthatdestinationisanexistingfolderinwhichtocopymatchingfoldersandsubfolders.Otherwise,destinationisassumedtobethenameofafoldertocreate.Ineithercase,fourthingscanhappenwhenanindividualfolderiscopied.

Ifdestinationdoesnotexist,thesourcefolderandallitscontentsgetscopied.Thisistheusualcase.

Ifdestinationisanexistingfile,anerroroccurs.

Ifdestinationisadirectory,anattemptismadetocopythefolderandallitscontents.Ifafilecontainedinsourcealreadyexistsindestination,anerroroccursifoverwriteisFalse.Otherwise,itwillattempttocopythefileovertheexistingfile.

Ifdestinationisaread-onlydirectory,anerroroccursifanattemptismadetocopyanexistingread-onlyfileintothatdirectoryandoverwriteisFalse.

Anerroralsooccursifasourceusingwildcardcharactersdoesn'tmatchanyfolders.

TheCopyFoldermethodstopsonthefirsterroritencounters.Noattemptismadetorollbackanychangesmadebeforeanerroroccurs.

Page 424: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCountProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesTo

Description

ReturnsthenumberofitemsinacollectionorDictionaryobject.Read-only.

Syntax

object.Count

TheobjectisalwaysthenameofoneoftheitemsintheAppliesTolist.

Remarks

ThefollowingcodeillustratesuseoftheCountproperty:

FunctionShowKeysDima,d,i,s'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"a=d.Keys'Getthekeys.Fori=0Tod.Count-1'Iteratethearray.s=s&a(i)&"<BR>"'Createreturnstring.NextShowKeys=sEndFunction

Page 425: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateFolderMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Createsafolder.

Syntax

object.CreateFolder(foldername)

TheCreateFoldermethodhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

foldername Required.Stringexpressionthatidentifiesthefoldertocreate.

Remarks

Anerroroccursifthespecifiedfolderalreadyexists.

ThefollowingexampleillustratesuseoftheCreateFoldermethod:

FunctionCreateFolderDemoDimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.CreateFolder("c:\NewFolder")CreateFolderDemo=f.PathEndFunction

Page 426: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 427: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateTextFileMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

CreatesaspecifiedfilenameandreturnsaTextStreamobjectthatcanbeusedtoreadfromorwritetothefile.

Syntax

object.CreateTextFile(filename[,overwrite[,unicode]])

TheCreateTextFilemethodhastheseparts:

Part Description

object Required.AlwaysthenameofaFileSystemObjectorFolderobject.

filename Required.Stringexpressionthatidentifiesthefiletocreate.

overwrite

Optional.Booleanvaluethatindicatesifanexistingfilecanbeoverwritten.ThevalueisTrueifthefilecanbeoverwritten;Falseifitcan'tbeoverwritten.Ifomitted,existingfilesarenotoverwritten.

unicode

Optional.BooleanvaluethatindicateswhetherthefileiscreatedasaUnicodeorASCIIfile.ThevalueisTrueifthefileiscreatedasaUnicodefile;Falseifit'screatedasanASCIIfile.Ifomitted,anASCIIfileisassumed.

Remarks

ThefollowingcodeillustrateshowtousetheCreateTextFilemethodto

Page 428: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

createandopenatextfile:

SubCreateAfileDimfso,MyFileSetfso=CreateObject("Scripting.FileSystemObject")SetMyFile=fso.CreateTextFile("c:\testfile.txt",True)MyFile.WriteLine("Thisisatest.")MyFile.CloseEndSub

IftheoverwriteargumentisFalse,orisnotprovided,forafilenamethatalreadyexists,anerroroccurs.

Page 429: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateCreatedProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthedateandtimethatthespecifiedfileorfolderwascreated.Read-only.

Syntax

object.DateCreated

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheDateCreatedpropertywithafile:

FunctionShowFileInfo(filespec)Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)ShowFileInfo="Created:"&f.DateCreatedEndFunction

Page 430: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateLastAccessedProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthedateandtimethatthespecifiedfileorfolderwaslastaccessed.Read-only.

Syntax

object.DateLastAccessed

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheDateLastAccessedpropertywithafile:

FunctionShowFileAccessInfo(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s=UCase(filespec)&"<BR>"s=s&"Created:"&f.DateCreated&"<BR>"s=s&"LastAccessed:"&f.DateLastAccessed&"<BR>"s=s&"LastModified:"&f.DateLastModifiedShowFileAccessInfo=sEndFunction

ImportantThismethoddependsontheunderlyingoperatingsystemforitsbehavior.

Page 431: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Iftheoperatingsystemdoesnotsupportprovidingtimeinformation,nonewillbereturned.

Page 432: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateLastModifiedProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthedateandtimethatthespecifiedfileorfolderwaslastmodified.Read-only.

Syntax

object.DateLastModified

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheDateLastModifiedpropertywithafile:

FunctionShowFileAccessInfo(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s=UCase(filespec)&"<BR>"s=s&"Created:"&f.DateCreated&"<BR>"s=s&"LastAccessed:"&f.DateLastAccessed&"<BR>"s=s&"LastModified:"&f.DateLastModifiedShowFileAccessInfo=sEndFunction

Page 433: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDeleteMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Deletesaspecifiedfileorfolder.

Syntax

object.Deleteforce

TheDeletemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileorFolderobject.

forceOptional.BooleanvaluethatisTrueiffilesorfolderswiththeread-onlyattributesetaretobedeleted;False(default)iftheyarenot.

Remarks

Anerroroccursifthespecifiedfileorfolderdoesnotexist.TheDeletemethoddoesnotdistinguishbetweenfoldersthathavecontentsandthosethatdonot.Thespecifiedfolderisdeletedregardlessofwhetherornotithascontents.

TheresultsoftheDeletemethodonaFileorFolderareidenticaltooperationsperformedusingFileSystemObject.DeleteFileorFileSystemObject.DeleteFolder.

ThefollowingexampleillustratesuseoftheDeletemethod:

Dimfso,MyFileSetfso=CreateObject("Scripting.FileSystemObject")

Page 434: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SetMyFile=fso.CreateTextFile("c:\testfile.txt",True)MyFile.WriteLine("Thisisatest.")MyFile.CloseSetMyFile=fso.GetFile("c:\testfile.txt")MyFile.Delete

Page 435: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DeleteFileMethodScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

Deletesaspecifiedfile.

Syntax

object.DeleteFilefilespec[,force]

TheDeleteFilemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

filespecRequired.Thenameofthefiletodelete.Thefilespeccancontainwildcardcharactersinthelastpathcomponent.

forceOptional.BooleanvaluethatisTrueiffileswiththeread-onlyattributesetaretobedeleted;False(default)iftheyarenot.

Remarks

Anerroroccursifnomatchingfilesarefound.TheDeleteFilemethodstopsonthefirsterroritencounters.Noattemptismadetorollbackorundoanychangesthatweremadebeforeanerroroccurred.

ThefollowingexampleillustratesuseoftheDeleteFilemethod:

SubDeleteAFile(filespec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")

Page 436: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

fso.DeleteFile(filespec)EndSub

Page 437: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DeleteFolderMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Deletesaspecifiedfolderanditscontents.

Syntax

object.DeleteFolderfolderspec[,force]

TheDeleteFoldermethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

folderspecRequired.Thenameofthefoldertodelete.Thefolderspeccancontainwildcardcharactersinthelastpathcomponent.

forceOptional.BooleanvaluethatisTrueiffolderswiththeread-onlyattributesetaretobedeleted;False(default)iftheyarenot.

Remarks

TheDeleteFoldermethoddoesnotdistinguishbetweenfoldersthathavecontentsandthosethatdonot.Thespecifiedfolderisdeletedregardlessofwhetherornotithascontents.

Anerroroccursifnomatchingfoldersarefound.TheDeleteFoldermethodstopsonthefirsterroritencounters.Noattemptismadetorollbackorundoanychangesthatweremadebeforeanerroroccurred.

ThefollowingexampleillustratesuseoftheDeleteFoldermethod:

Page 438: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

SubDeleteAFolder(filespec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")fso.DeleteFolder(filespec)EndSub

Page 439: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DictionaryObjectScriptingRun-TimeReference

Version2

SeeAlsoPropertiesMethods

Description

Objectthatstoresdatakey,itempairs.

Remarks

ADictionaryobjectistheequivalentofaPERLassociativearray.Items,whichcanbeanyformofdata,arestoredinthearray.Eachitemisassociatedwithauniquekey.Thekeyisusedtoretrieveanindividualitemandisusuallyaintegerorastring,butcanbeanythingexceptanarray.

ThefollowingcodeillustrateshowtocreateaDictionaryobject:

Dimd'Createavariable.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"...

Page 440: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDriveObject

ScriptingRun-TimeReferenceVersion3

SeeAlsoPropertiesMethods

Description

Providesaccesstothepropertiesofaparticulardiskdriveornetworkshare.

Remarks

ThefollowingcodeillustratestheuseoftheDriveobjecttoaccessdriveproperties:

FunctionShowFreeSpace(drvPath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(drvPath))s="Drive"&UCase(drvPath)&"-"s=s&d.VolumeName&"<BR>"s=s&"FreeSpace:"&FormatNumber(d.FreeSpace/1024,0)s=s&"Kbytes"ShowFreeSpace=sEndFunction

Page 441: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDriveProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthedriveletterofthedriveonwhichthespecifiedfileorfolderresides.Read-only.

Syntax

object.Drive

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheDriveproperty:

FunctionShowFileAccessInfo(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s=f.Name&"onDrive"&UCase(f.Drive)&"<BR>"s=s&"Created:"&f.DateCreated&"<BR>"s=s&"LastAccessed:"&f.DateLastAccessed&"<BR>"s=s&"LastModified:"&f.DateLastModifiedShowFileAccessInfo=sEndFunction

Page 442: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveExistsMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsTrueifthespecifieddriveexists;Falseifitdoesnot.

Syntax

object.DriveExists(drivespec)

TheDriveExistsmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

drivespec Required.Adriveletteroracompletepathspecification.

Remarks

Fordriveswithremovablemedia,theDriveExistsmethodreturnsTrueeveniftherearenomediapresent.UsetheIsReadypropertyoftheDriveobjecttodetermineifadriveisready.

ThefollowingexampleillustratesuseoftheDriveExistsmethod:

FunctionReportDriveStatus(drv)Dimfso,msgSetfso=CreateObject("Scripting.FileSystemObject")Iffso.DriveExists(drv)Thenmsg=("Drive"&UCase(drv)&"exists.")Else

Page 443: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

msg=("Drive"&UCase(drv)&"doesn'texist.")EndIfReportDriveStatus=msgEndFunction

Page 444: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveLetterProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthedriveletterofaphysicallocaldriveoranetworkshare.Read-only.

Syntax

object.DriveLetter

TheobjectisalwaysaDriveobject.

Remarks

TheDriveLetterpropertyreturnsazero-lengthstring("")ifthespecifieddriveisnotassociatedwithadriveletter,forexample,anetworksharethathasnotbeenmappedtoadriveletter.

ThefollowingcodeillustratestheuseoftheDriveLetterproperty:

FunctionShowDriveLetter(drvPath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(drvPath))s="Drive"&d.DriveLetter&":-"s=s&d.VolumeName&"<BR>"s=s&"FreeSpace:"&FormatNumber(d.FreeSpace/1024,0)s=s&"Kbytes"ShowDriveLetter=sEndFunction

Page 445: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 446: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DrivesCollectionScriptingRun-TimeReference

Version3

SeeAlsoPropertiesMethods

Description

Read-onlycollectionofallavailabledrives.

Remarks

Removable-mediadrivesneednothavemediainsertedforthemtoappearintheDrivescollection.

ThefollowingcodeillustrateshowtogettheDrivescollectionanditeratethecollectionusingtheForEach...Nextstatement:

FunctionShowDriveListDimfso,d,dc,s,nSetfso=CreateObject("Scripting.FileSystemObject")Setdc=fso.DrivesForEachdindcn=""s=s&d.DriveLetter&"-"Ifd.DriveType=RemoteThenn=d.ShareNameElseIfd.IsReadyThenn=d.VolumeNameEndIfs=s&n&"<BR>"NextShowDriveList=sEndFunction

Page 447: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivesProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsaDrivescollectionconsistingofallDriveobjectsavailableonthelocalmachine.

Syntax

object.Drives

TheobjectisalwaysaFileSystemObject.

Remarks

Removable-mediadrivesneednothavemediainsertedforthemtoappearintheDrivescollection.

YoucaniteratethemembersoftheDrivescollectionusingaForEach...Nextconstructasillustratedinthefollowingcode:

FunctionShowDriveListDimfso,d,dc,s,nSetfso=CreateObject("Scripting.FileSystemObject")Setdc=fso.DrivesForEachdindcn=""s=s&d.DriveLetter&"-"Ifd.DriveType=3Thenn=d.ShareNameElseIfd.IsReadyThenn=d.VolumeName

Page 448: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndIfs=s&n&"<BR>"NextShowDriveList=sEndFunction

Page 449: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveTypeConstants

ScriptingRun-TimeReferenceVersion3

SeeAlso

Theseconstantsareonlyavailablewhenyourprojecthasanexplicitreferencetotheappropriatetypelibrarycontainingtheseconstantdefinitions.ForVBScript,youmustexplicitlydeclaretheseconstantsinyourcode.

Constant Value DescriptionUnknown 0 Drivetypecan'tbedetermined.

Removable 1Drivehasremovablemedia.Thisincludesallfloppydrivesandmanyothervarietiesofstoragedevices.

Fixed 2Drivehasfixed(nonremovable)media.Thisincludesallharddrives,includingharddrivesthatareremovable.

Remote 3 Networkdrives.Thisincludesdrivessharedanywhereonanetwork.

CDROM 4DriveisaCD-ROM.Nodistinctionismadebetweenread-onlyandread/writeCD-ROMdrives.

RAMDisk 5DriveisablockofRandomAccessMemory(RAM)onthelocalcomputerthatbehaveslikeadiskdrive.

Page 450: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveTypeProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsavalueindicatingthetypeofaspecifieddrive.

Syntax

object.DriveType

TheobjectisalwaysaDriveobject.

Remarks

ThefollowingcodeillustratestheuseoftheDriveTypeproperty:

FunctionShowDriveType(drvpath)Dimfso,d,tSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(drvpath)SelectCased.DriveTypeCase0:t="Unknown"Case1:t="Removable"Case2:t="Fixed"Case3:t="Network"Case4:t="CD-ROM"Case5:t="RAMDisk"EndSelectShowDriveType="Drive"&d.DriveLetter&":-"&tEndFunction

Page 451: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 452: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExistsMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ReturnsTrueifaspecifiedkeyexistsintheDictionaryobject,Falseifitdoesnot.

Syntax

object.Exists(key)

TheExistsmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaDictionaryobject.

key Required.KeyvaluebeingsearchedforintheDictionaryobject.

Remarks

ThefollowingexampleillustratesuseoftheExistsmethod:

FunctionKeyExistsDemoDimd,msg'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"Ifd.Exists("c")Thenmsg="Specifiedkeyexists."Else

Page 453: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

msg="Specifiedkeydoesn'texist."EndIfKeyExistsDemo=msgEndFunction

Page 454: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFileAttributeConstants

ScriptingRun-TimeReferenceVersion3

SeeAlso

Theseconstantsareonlyavailablewhenyourprojecthasanexplicitreferencetotheappropriatetypelibrarycontainingtheseconstantdefinitions.ForVBScript,youmustexplicitlydeclaretheseconstantsinyourcode.

Constant Value DescriptionNormal 0 Normalfile.Noattributesareset.ReadOnly 1 Read-onlyfile.Hidden 2 Hiddenfile.System 4 Systemfile.Directory 16 Folderordirectory.Archive 32 Filehaschangedsincelastbackup.Alias 1024 Linkorshortcut.Compressed 2048 Compressedfile.

Page 455: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFileInput/OutputConstants

ScriptingRun-TimeReferenceVersion2

SeeAlso

Theseconstantsareonlyavailablewhenyourprojecthasanexplicitreferencetotheappropriatetypelibrarycontainingtheseconstantdefinitions.ForVBScript,youmustexplicitlydeclaretheseconstantsinyourcode.

Constant Value Description

ForReading 1 Openafileforreadingonly.Youcan'twritetothisfile.

ForWriting 2Openafileforwriting.Ifafilewiththesamenameexists,itspreviouscontentsareoverwritten.

ForAppending 8 Openafileandwritetotheendofthefile.

Page 456: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileExistsMethodScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

ReturnsTrueifaspecifiedfileexists;Falseifitdoesnot.

Syntax

object.FileExists(filespec)

TheFileExistsmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

filespec

Required.Thenameofthefilewhoseexistenceistobedetermined.Acompletepathspecification(eitherabsoluteorrelative)mustbeprovidedifthefileisn'texpectedtoexistinthecurrentfolder.

Remarks

ThefollowingexampleillustratesuseoftheFileExistsmethod:

FunctionReportFileStatus(filespec)Dimfso,msgSetfso=CreateObject("Scripting.FileSystemObject")If(fso.FileExists(filespec))Thenmsg=filespec&"exists."Elsemsg=filespec&"doesn'texist."EndIfReportFileStatus=msg

Page 457: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndFunction

Page 458: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFileObject

ScriptingRun-TimeReferenceVersion3

SeeAlsoPropertiesMethods

Description

Providesaccesstoallthepropertiesofafile.

Remarks

ThefollowingcodeillustrateshowtoobtainaFileobjectandhowtoviewoneofitsproperties.

FunctionShowDateCreated(filespec)Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)ShowDateCreated=f.DateCreatedEndFunction

Page 459: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilesCollection

ScriptingRun-TimeReferenceVersion3

SeeAlsoPropertiesMethods

Description

CollectionofallFileobjectswithinafolder.

Remarks

ThefollowingcodeillustrateshowtogetaFilescollectionanditeratethecollectionusingtheForEach...Nextstatement:

FunctionShowFolderList(folderspec)Dimfso,f,f1,fc,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(folderspec)Setfc=f.FilesForEachf1infcs=s&f1.names=s&"<BR>"NextShowFolderList=sEndFunction

Page 460: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilesProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsaFilescollectionconsistingofallFileobjectscontainedinthespecifiedfolder,includingthosewithhiddenandsystemfileattributesset.

Syntax

object.Files

TheobjectisalwaysaFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheFilesproperty:

FunctionShowFileList(folderspec)Dimfso,f,f1,fc,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(folderspec)Setfc=f.FilesForEachf1infcs=s&f1.names=s&"<BR>"NextShowFileList=sEndFunction

Page 461: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemObjectObject

ScriptingRun-TimeReferenceVersion2

SeeAlsoPropertiesMethods

Description

Providesaccesstoacomputer'sfilesystem.

Remarks

ThefollowingcodeillustrateshowtheFileSystemObjectisusedtoreturnaTextStreamobjectthatcanbereadfromorwrittento:

Dimfso,MyFileSetfso=CreateObject("Scripting.FileSystemObject")SetMyFile=fso.CreateTextFile("c:\testfile.txt",True)MyFile.WriteLine("Thisisatest.")MyFile.Close

Intheprecedingcode,theCreateObjectfunctionreturnstheFileSystemObject(fso).TheCreateTextFilemethodthencreatesthefileasaTextStreamobject(a)andtheWriteLinemethodwritesalineoftexttothecreatedtextfile.TheClosemethodflushesthebufferandclosesthefile.

Page 462: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemObjectConstants

ScriptingRun-TimeReferenceVersion2

SeeAlso

FileSystemObjecthasanumberofusefulconstantsthatyoucanuseinyourcode.Constantsprovideaconvenientwaytousespecificvalueswithoutactuallyhavingtorememberthevalueitself.Theyalsomakesyourcodemoremaintainable,shouldthevalueofanyconstanteverchange.

Dependingonyourscriptinghost,theseconstantsmaybealreadydefined.Ifso,simplyusetheconstantsanywhereinyourcodeinplaceofthevaluestheyrepresent.IncaseswhereSCRRUN.DLLisnotexplicitlyreferencedbyyourscriptinghost,you'llhavetodefinetheseconstantsinyourcodebeforeyoucanusethem.ExamplesofthiscaseincludeMicrosoftInternetExplorerandMicrosoftInternetInformationServices(IIS).

ThefollowinglistdescribesthevariouscategoriesofconstantsprovidedfortheFileSystemObject,alongwithabriefdescription:

DriveTypeConstantsDefinesthevariousdrivetypesavailableonthehostcomputer,suchasFixed,Removable,CD-ROM,etc.

FileAttributeConstantsDefinesvariousfileattributessuchasHidden,Read-Only,etc.

FileInput/OutputConstantsDefinesconstantsusedwithfileinputandoutput.

SpecialFolderConstantsDefinesspecialfoldersavailableinyouroperatingsystem.

Page 463: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthetypeoffilesysteminuseforthespecifieddrive.

Syntax

object.FileSystem

TheobjectisalwaysaDriveobject.

Remarks

AvailablereturntypesincludeFAT,NTFS,andCDFS.

ThefollowingcodeillustratestheuseoftheFileSystemproperty:

FunctionShowFileSystemType(drvspec)Dimfso,dSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(drvspec)ShowFileSystemType=d.FileSystemEndFunction

Page 464: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFolderObject

ScriptingRun-TimeReferenceVersion3

SeeAlsoPropertiesMethods

Description

Providesaccesstoallthepropertiesofafolder.

Remarks

ThefollowingcodeillustrateshowtoobtainaFolderobjectandhowtoreturnoneofitsproperties:

FunctionShowDateCreated(folderspec)Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(folderspec)ShowDateCreated=f.DateCreatedEndFunction

Page 465: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFoldersCollection

ScriptingRun-TimeReferenceVersion3

SeeAlsoPropertiesMethods

Description

CollectionofallFolderobjectscontainedwithinaFolderobject.

Remarks

ThefollowingcodeillustrateshowtogetaFolderscollectionandhowtoiteratethecollectionusingtheForEach...Nextstatement:

FunctionShowFolderList(folderspec)Dimfso,f,f1,fc,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(folderspec)Setfc=f.SubFoldersForEachf1infcs=s&f1.names=s&"<BR>"NextShowFolderList=sEndFunction

Page 466: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FolderExistsMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsTrueifaspecifiedfolderexists;Falseifitdoesnot.

Syntax

object.FolderExists(folderspec)

TheFolderExistsmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

folderspec

Required.Thenameofthefolderwhoseexistenceistobedetermined.Acompletepathspecification(eitherabsoluteorrelative)mustbeprovidedifthefolderisn'texpectedtoexistinthecurrentfolder.

Remarks

ThefollowingexampleillustratesuseoftheFolderExistsmethod:

FunctionReportFolderStatus(fldr)Dimfso,msgSetfso=CreateObject("Scripting.FileSystemObject")If(fso.FolderExists(fldr))Thenmsg=fldr&"exists."Elsemsg=fldr&"doesn'texist."

Page 467: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndIfReportFolderStatus=msgEndFunction

Page 468: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FreeSpaceProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnstheamountoffreespaceavailabletoauseronthespecifieddriveornetworkshare.Read-only.

Syntax

object.FreeSpace

TheobjectisalwaysaDriveobject.

Remarks

ThevaluereturnedbytheFreeSpacepropertyistypicallythesameasthatreturnedbytheAvailableSpaceproperty.Differencesmayoccurbetweenthetwoforcomputersystemsthatsupportquotas.

ThefollowingcodeillustratestheuseoftheFreeSpaceproperty:

FunctionShowFreeSpace(drvPath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(drvPath))s="Drive"&UCase(drvPath)&"-"s=s&d.VolumeName&"<BR>"s=s&"FreeSpace:"&FormatNumber(d.FreeSpace/1024,0)s=s&"Kbytes"ShowFreeSpace=sEndFunction

Page 469: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 470: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetAbsolutePathNameMethod

ScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

Returnsacompleteandunambiguouspathfromaprovidedpathspecification.

Syntax

object.GetAbsolutePathName(pathspec)

TheGetAbsolutePathNamemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

pathspec Required.Pathspecificationtochangetoacompleteandunambiguouspath.

Remarks

Apathiscompleteandunambiguousifitprovidesacompletereferencefromtherootofthespecifieddrive.Acompletepathcanonlyendwithapathseparatorcharacter(\)ifitspecifiestherootfolderofamappeddrive.

Assumingthecurrentdirectoryisc:\mydocuments\reports,thefollowingtableillustratesthebehavioroftheGetAbsolutePathNamemethod.

pathspec Returnedpath"c:" "c:\mydocuments\reports""c:.." "c:\mydocuments""c:\\\" "c:\"

Page 471: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

"c:*.*\may97" "c:\mydocuments\reports\*.*\may97""region1" "c:\mydocuments\reports\region1""c:\..\..\mydocuments" "c:\mydocuments"

Page 472: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetBaseNameMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsastringcontainingthebasenameofthefile(lessanyfileextension),orfolderinaprovidedpathspecification.

Syntax

object.GetBaseName(path)

TheGetBaseNamemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

path Required.Thepathspecificationforthefileorfolderwhosebasenameistobereturned.

Remarks

TheGetBaseNamemethodreturnsazero-lengthstring("")ifnofileorfoldermatchesthepathargument.

ThefollowingexampleillustratesuseoftheGetBaseNamemethod:

FunctionGetTheBase(filespec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")GetTheBase=fso.GetBaseName(filespec)EndFunction

Page 473: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NoteTheGetBaseNamemethodworksonlyontheprovidedpathstring.Itdoesnotattempttoresolvethepath,nordoesitcheckfortheexistenceofthespecifiedpath.

Page 474: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetDriveMethodScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

ReturnsaDriveobjectcorrespondingtothedriveinaspecifiedpath.

Syntax

object.GetDrivedrivespec

TheGetDrivemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

drivespec

Required.Thedrivespecargumentcanbeadriveletter(c),adriveletterwithacolonappended(c:),adriveletterwithacolonandpathseparatorappended(c:\),oranynetworksharespecification(\\computer2\share1).

Remarks

Fornetworkshares,acheckismadetoensurethattheshareexists.

Anerroroccursifdrivespecdoesnotconformtooneoftheacceptedformsordoesnotexist.TocalltheGetDrivemethodonanormalpathstring,usethefollowingsequencetogetastringthatissuitableforuseasdrivespec:

DriveSpec=GetDriveName(GetAbsolutePathName(Path))

ThefollowingexampleillustratesuseoftheGetDrivemethod:

FunctionShowFreeSpace(drvPath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")

Page 475: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Setd=fso.GetDrive(fso.GetDriveName(drvPath))s="Drive"&UCase(drvPath)&"-"s=s&d.VolumeName&"<BR>"s=s&"FreeSpace:"&FormatNumber(d.FreeSpace/1024,0)s=s&"Kbytes"ShowFreeSpace=sEndFunction

Page 476: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetDriveNameMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsastringcontainingthenameofthedriveforaspecifiedpath.

Syntax

object.GetDriveName(path)

TheGetDriveNamemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

path Required.Thepathspecificationforthecomponentwhosedrivenameistobereturned.

Remarks

TheGetDriveNamemethodreturnsazero-lengthstring("")ifthedrivecan'tbedetermined.

ThefollowingexampleillustratesuseoftheGetDriveNamemethod:

FunctionGetAName(DriveSpec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")GetAName=fso.GetDriveName(Drivespec)EndFunction

Page 477: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NoteTheGetDriveNamemethodworksonlyontheprovidedpathstring.Itdoesnotattempttoresolvethepath,nordoesitcheckfortheexistenceofthespecifiedpath.

Page 478: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetExtensionNameMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsastringcontainingtheextensionnameforthelastcomponentinapath.

Syntax

object.GetExtensionName(path)

TheGetExtensionNamemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

path Required.Thepathspecificationforthecomponentwhoseextensionnameistobereturned.

Remarks

Fornetworkdrives,therootdirectory(\)isconsideredtobeacomponent.

TheGetExtensionNamemethodreturnsazero-lengthstring("")ifnocomponentmatchesthepathargument.

ThefollowingexampleillustratesuseoftheGetExtensionNamemethod:

FunctionGetAnExtension(DriveSpec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")GetAnExtension=fso.GetExtensionName(Drivespec

Page 479: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndFunction

Page 480: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionGetFileMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsaFileobjectcorrespondingtothefileinaspecifiedpath.

Syntax

object.GetFile(filespec)

TheGetFilemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

filespec Required.Thefilespecisthepath(absoluteorrelative)toaspecificfile.

Remarks

Anerroroccursifthespecifiedfiledoesnotexist.

ThefollowingexampleillustratesuseoftheGetFilemethod:

FunctionShowFileAccessInfo(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s=f.Path&"<br>"s=s&"Created:"&f.DateCreated&"<br>"s=s&"LastAccessed:"&f.DateLastAccessed&"<br>"s=s&"LastModified:"&f.DateLastModifiedShowFileAccessInfo=s

Page 481: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndFunction

Page 482: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFileNameMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthelastfilenameorfolderofaspecifiedpaththatisnotpartofthedrivespecification.

Syntax

object.GetFileName(pathspec)

TheGetFileNamemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

pathspec Required.Thepath(absoluteorrelative)toaspecificfile.

Remarks

TheGetFileNamemethodreturnsazero-lengthstring("")ifpathspecdoesnotendwiththenamedfileorfolder.

ThefollowingexampleillustratesuseoftheGetFileNamemethod:

FunctionGetAName(DriveSpec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")GetAName=fso.GetFileName(DriveSpec)EndFunction

Page 483: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NoteTheGetFileNamemethodworksonlyontheprovidedpathstring.Itdoesnotattempttoresolvethepath,nordoesitcheckfortheexistenceofthespecifiedpath.

Page 484: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFileVersionMethod

ScriptingRun-TimeReferenceVersion5

SeeAlsoAppliesTo

Description

Returnstheversionnumberofaspecifiedfile.

Syntax

object.GetFileVersion(pathspec)

TheGetVersionmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

pathspec Required.Thepath(absoluteorrelative)toaspecificfile.

Remarks

TheGetFileVersionmethodreturnsazero-lengthstring("")ifpathspecdoesnotendwiththenamedfileorifthefiledoesnotcontainversioninformation.

ThefollowingexampleillustratesuseoftheGetFileVersionmethod:

FunctionGetVersion(PathSpec)Dimfso,tempSetfso=CreateObject("Scripting.FileSystemObject")temp=fso.GetFileVersion(PathSpec)IfLen(temp)Then

Page 485: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

GetVersion=tempElseGetVersion="Noversioninformationavailable."EndIfEndFunction

NoteTheGetFileVersionmethodworksonlyontheprovidedpathstring.Itdoesnotattempttoresolvethepath,nordoesitcheckfortheexistenceofthespecifiedpath.

Page 486: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFolderMethodScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

ReturnsaFolderobjectcorrespondingtothefolderinaspecifiedpath.

Syntax

object.GetFolder(folderspec)

TheGetFoldermethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

folderspec Required.Thefolderspecisthepath(absoluteorrelative)toaspecificfolder.

Remarks

Anerroroccursifthespecifiedfolderdoesnotexist.

ThefollowingexampleillustratestheuseoftheGetFoldermethodtoreturnafolderobject:

SubAddNewFolder(path,folderName)Dimfso,f,fc,nfSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(path)Setfc=f.SubFoldersIffolderName<>""ThenSetnf=fc.Add(folderName)

Page 487: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ElseSetnf=fc.Add("NewFolder")EndIfEndSub

Page 488: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetParentFolderNameMethod

ScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

Returnsastringcontainingthenameoftheparentfolderofthelastfileorfolderinaspecifiedpath.

Syntax

object.GetParentFolderName(path)

TheGetParentFolderNamemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

path Required.Thepathspecificationforthefileorfolderwhoseparentfoldernameistobereturned.

Remarks

TheGetParentFolderNamemethodreturnsazero-lengthstring("")ifthereisnoparentfolderforthefileorfolderspecifiedinthepathargument.

ThefollowingexampleillustratesuseoftheGetParentFolderNamemethod:

FunctionGetTheParent(DriveSpec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")GetTheParent=fso.GetParentFolderName(DrivespecEndFunction

Page 489: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

NoteTheGetParentFolderNamemethodworksonlyontheprovidedpathstring.Itdoesnotattempttoresolvethepath,nordoesitcheckfortheexistenceofthespecifiedpath.

Page 490: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetSpecialFolderMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthespecialfolderspecified.

Syntax

object.GetSpecialFolder(folderspec)

TheGetSpecialFoldermethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

folderspecRequired.Thenameofthespecialfoldertobereturned.CanbeanyoftheconstantsshownintheSettingssection.

Settings

Thefolderspecargumentcanhaveanyofthefollowingvalues:

Constant Value Description

WindowsFolder 0TheWindowsfoldercontainsfilesinstalledbytheWindowsoperatingsystem.

SystemFolder 1 TheSystemfoldercontainslibraries,fonts,anddevicedrivers.

TemporaryFolder 2TheTempfolderisusedtostoretemporaryfiles.ItspathisfoundintheTMPenvironmentvariable.

Page 491: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Remarks

ThefollowingexampleillustratesuseoftheGetSpecialFoldermethod:

Dimfso,tempfileSetfso=CreateObject("Scripting.FileSystemObject")

FunctionCreateTempFileDimtfolder,tname,tfileConstTemporaryFolder=2Settfolder=fso.GetSpecialFolder(TemporaryFolder)tname=fso.GetTempNameSettfile=tfolder.CreateTextFile(tname)SetCreateTempFile=tfileEndFunction

Settempfile=CreateTempFiletempfile.WriteLine"HelloWorld"tempfile.Close

Page 492: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetTempNameMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsarandomlygeneratedtemporaryfileorfoldernamethatisusefulforperformingoperationsthatrequireatemporaryfileorfolder.

Syntax

object.GetTempName

TheoptionalobjectisalwaysthenameofaFileSystemObject.

Remarks

TheGetTempNamemethoddoesnotcreateafile.ItprovidesonlyatemporaryfilenamethatcanbeusedwithCreateTextFiletocreateafile.

ThefollowingexampleillustratesuseoftheGetTempNamemethod:

Dimfso,tempfileSetfso=CreateObject("Scripting.FileSystemObject")

FunctionCreateTempFileDimtfolder,tname,tfileConstTemporaryFolder=2Settfolder=fso.GetSpecialFolder(TemporaryFolder)tname=fso.GetTempName

Page 493: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Settfile=tfolder.CreateTextFile(tname)SetCreateTempFile=tfileEndFunction

Settempfile=CreateTempFiletempfile.WriteLine"HelloWorld"tempfile.Close

Page 494: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsReadyProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsTrueifthespecifieddriveisready;Falseifitisnot.

Syntax

object.IsReady

TheobjectisalwaysaDriveobject.

Remarks

Forremovable-mediadrivesandCD-ROMdrives,IsReadyreturnsTrueonlywhentheappropriatemediaisinsertedandreadyforaccess.

ThefollowingcodeillustratestheuseoftheIsReadyproperty:

FunctionShowDriveInfo(drvpath)Dimfso,d,s,tSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(drvpath)SelectCased.DriveTypeCase0:t="Unknown"Case1:t="Removable"Case2:t="Fixed"Case3:t="Network"Case4:t="CD-ROM"Case5:t="RAMDisk"EndSelects="Drive"&d.DriveLetter&":-"&t

Page 495: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Ifd.IsReadyThens=s&"<BR>"&"DriveisReady."Elses=s&"<BR>"&"DriveisnotReady."EndIfShowDriveInfo=sEndFunction

Page 496: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsRootFolderProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsTrueifthespecifiedfolderistherootfolder;Falseifitisnot.

Syntax

object.IsRootFolder

TheobjectisalwaysaFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheIsRootFolderproperty:

FunctionDisplayLevelDepth(pathspec)Dimfso,f,nSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(pathspec)Iff.IsRootFolderThenDisplayLevelDepth="Thespecifiedfolderistherootfolder."ElseDoUntilf.IsRootFolderSetf=f.ParentFoldern=n+1LoopDisplayLevelDepth="Thespecifiedfolderisnested"&n&"levelsdeep."EndIfEndFunction

Page 497: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 498: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionItemProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesTo

Description

SetsorreturnsanitemforaspecifiedkeyinaDictionaryobject.Forcollections,returnsanitembasedonthespecifiedkey.Read/write.

Syntax

object.Item(key)[=newitem]

TheItempropertyhasthefollowingparts:

Part Description

object Required.AlwaysthenameofacollectionorDictionaryobject.

key Required.Keyassociatedwiththeitembeingretrievedoradded.

newitemOptional.UsedforDictionaryobjectonly;noapplicationforcollections.Ifprovided,newitemisthenewvalueassociatedwiththespecifiedkey.

Remarks

Ifkeyisnotfoundwhenchanginganitem,anewkeyiscreatedwiththespecifiednewitem.Ifkeyisnotfoundwhenattemptingtoreturnanexistingitem,anewkeyiscreatedanditscorrespondingitemisleftempty.

ThefollowingexampleillustratestheuseoftheItemproperty:

FunctionItemDemo

Page 499: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Dimd'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"ItemDemo=d.Item("c")'Gettheitem.EndFunction

Page 500: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionItemsMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ReturnsanarraycontainingalltheitemsinaDictionaryobject.

Syntax

object.Items

TheobjectisalwaysthenameofaDictionaryobject.

Remarks

ThefollowingcodeillustratesuseoftheItemsmethod:

FunctionDicDemoDima,d,i,s'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"a=d.Items'Gettheitems.Fori=0Tod.Count-1'Iteratethearray.s=s&a(i)&"<BR>"'Createreturnstring.NextDicDemo=sEndFunction

Page 501: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionKeyProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

SetsakeyinaDictionaryobject.

Syntax

object.Key(key)=newkey

TheKeypropertyhasthefollowingparts:

Part Descriptionobject Required.AlwaysthenameofaDictionaryobject.key Required.Keyvaluebeingchanged.newkey Required.Newvaluethatreplacesthespecifiedkey.

Remarks

Ifkeyisnotfoundwhenchangingakey,arun-timeerrorwilloccur.

ThefollowingexampleillustratestheuseoftheKeyproperty:

FunctionDicDemoDimd'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"

Page 502: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

d.Key("c")="d"'Setkeyfor"c"to"d".DicDemo=d.Item("d")'Returnassociateitem.EndFunction

Page 503: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionKeysMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ReturnsanarraycontainingallexistingkeysinaDictionaryobject.

Syntax

object.Keys

TheobjectisalwaysthenameofaDictionaryobject.

Remarks

ThefollowingcodeillustratesuseoftheKeysmethod:

FunctionDicDemoDima,d,i'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"a=d.Keys'Getthekeys.Fori=0Tod.Count-1'Iteratethearray.s=s&a(i)&"<BR>"'Returnresults.NextDicDemo=sEndFunction

Page 504: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLineProperty

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

Read-onlypropertythatreturnsthecurrentlinenumberinaTextStreamfile.

Syntax

object.Line

TheobjectisalwaysthenameofaTextStreamobject.

Remarks

Afterafileisinitiallyopenedandbeforeanythingiswritten,Lineisequalto1.

ThefollowingexampleillustratesuseoftheLineproperty:

FunctionGetLineConstForReading=1,ForWriting=2Dimfso,f,raSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.Write"Helloworld!"&vbCrLf&"VBScriptisfun!"&vbCrLfSetf=fso.OpenTextFile("c:\testfile.txt",ForReading)ra=f.ReadAllGetLine=f.LineEndFunction

Page 505: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMoveMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Movesaspecifiedfileorfolderfromonelocationtoanother.

Syntax

object.Movedestination

TheMovemethodsyntaxhastheseparts:

Part Description

object Required.AlwaysthenameofaFileorFolderobject.

destination Required.Destinationwherethefileorfolderistobemoved.Wildcardcharactersarenotallowed.

Remarks

TheresultsoftheMovemethodonaFileorFolderareidenticaltooperationsperformedusingFileSystemObject.MoveFileorFileSystemObject.MoveFolder.Youshouldnote,however,thatthealternativemethodsarecapableofmovingmultiplefilesorfolders.

ThefollowingexampleillustratesuseoftheMovemethod:

Dimfso,MyFileSetfso=CreateObject("Scripting.FileSystemObject")SetMyFile=fso.CreateTextFile("c:\testfile.txt",True)MyFile.WriteLine("Thisisatest.")

Page 506: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

MyFile.CloseSetMyFile=fso.GetFile("c:\testfile.txt")MyFile.Move"c:\windows\desktop\"

Page 507: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MoveFileMethodScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

Movesoneormorefilesfromonelocationtoanother.

Syntax

object.MoveFilesource,destination

TheMoveFilemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

sourceRequired.Thepathtothefileorfilestobemoved.Thesourceargumentstringcancontainwildcardcharactersinthelastpathcomponentonly.

destinationRequired.Thepathwherethefileorfilesaretobemoved.Thedestinationargumentcan'tcontainwildcardcharacters.

Remarks

Ifsourcecontainswildcardsordestinationendswithapathseparator(\),itisassumedthatdestinationspecifiesanexistingfolderinwhichtomovethematchingfiles.Otherwise,destinationisassumedtobethenameofadestinationfiletocreate.Ineithercase,threethingscanhappenwhenanindividualfileismoved:

Ifdestinationdoesnotexist,thefilegetsmoved.Thisistheusualcase.

Ifdestinationisanexistingfile,anerroroccurs.

Ifdestinationisadirectory,anerroroccurs.

Page 508: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Anerroralsooccursifawildcardcharacterthatisusedinsourcedoesn'tmatchanyfiles.TheMoveFilemethodstopsonthefirsterroritencounters.Noattemptismadetorollbackanychangesmadebeforetheerroroccurs.

ThefollowingexampleillustratesuseoftheMoveFilemethod:

SubMoveAFile(Drivespec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")fso.MoveFileDrivespec,"c:\windows\desktop\"EndSub

ImportantThismethodallowsmovingfilesbetweenvolumesonlyifsupportedbytheoperatingsystem.

Page 509: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MoveFolderMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Movesoneormorefoldersfromonelocationtoanother.

Syntax

object.MoveFoldersource,destination

TheMoveFoldermethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

sourceRequired.Thepathtothefolderorfolderstobemoved.Thesourceargumentstringcancontainwildcardcharactersinthelastpathcomponentonly.

destinationRequired.Thepathwherethefolderorfoldersaretobemoved.Thedestinationargumentcan'tcontainwildcardcharacters.

Remarks

Ifsourcecontainswildcardsordestinationendswithapathseparator(\),itisassumedthatdestinationspecifiesanexistingfolderinwhichtomovethematchingfiles.Otherwise,destinationisassumedtobethenameofadestinationfoldertocreate.Ineithercase,threethingscanhappenwhenanindividualfolderismoved:

Ifdestinationdoesnotexist,thefoldergetsmoved.Thisistheusualcase.

Page 510: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Ifdestinationisanexistingfile,anerroroccurs.

Ifdestinationisadirectory,anerroroccurs.

Anerroralsooccursifawildcardcharacterthatisusedinsourcedoesn'tmatchanyfolders.TheMoveFoldermethodstopsonthefirsterroritencounters.Noattemptismadetorollbackanychangesmadebeforetheerroroccurs.

ThefollowingexampleillustratesuseoftheMoveFoldermethod:

SubMoveAFolder(Drivespec)DimfsoSetfso=CreateObject("Scripting.FileSystemObject")fso.MoveFolderDrivespec,"c:\windows\desktop\"EndSub

ImportantThismethodallowsmovingfoldersbetweenvolumesonlyifsupportedbytheoperatingsystem.

Page 511: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNameProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Setsorreturnsthenameofaspecifiedfileorfolder.Read/write.

Syntax

object.Name[=newname]

TheNamepropertyhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileorFolderobject.

newname Optional.Ifprovided,newnameisthenewnameofthespecifiedobject.

Remarks

ThefollowingcodeillustratestheuseoftheNameproperty:

FunctionShowFileAccessInfo(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s=f.Name&"onDrive"&UCase(f.Drive)&"<BR>"s=s&"Created:"&f.DateCreated&"<BR>"s=s&"LastAccessed:"&f.DateLastAccessed&"<BR>"s=s&"LastModified:"&f.DateLastModifiedShowFileAccessInfo=sEndFunction

Page 512: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping
Page 513: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OpenAsTextStreamMethod

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

OpensaspecifiedfileandreturnsaTextStreamobjectthatcanbeusedtoreadfrom,writeto,orappendtothefile.

Syntax

object.OpenAsTextStream([iomode,[format]])

TheOpenAsTextStreammethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileobject.

iomodeOptional.Indicatesinput/outputmode.Canbeoneofthreeconstants:ForReading,ForWriting,orForAppending.

formatOptional.OneofthreeTristatevaluesusedtoindicatetheformatoftheopenedfile.Ifomitted,thefileisopenedasASCII.

Settings

Theiomodeargumentcanhaveanyofthefollowingsettings:

Constant Value Description

ForReading 1 Openafileforreadingonly.Youcan'twritetothisfile.

ForWriting 2Openafileforwriting.Ifafilewiththesamenameexists,itspreviouscontents

Page 514: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

areoverwritten.

ForAppending 8 Openafileandwritetotheendofthefile.

Theformatargumentcanhaveanyofthefollowingsettings:

Constant Value Description

TristateUseDefault -2 Opensthefileusingthesystemdefault.

TristateTrue -1 OpensthefileasUnicode.TristateFalse 0 OpensthefileasASCII.

Remarks

TheOpenAsTextStreammethodprovidesthesamefunctionalityastheOpenTextFilemethodoftheFileSystemObject.Inaddition,theOpenAsTextStreammethodcanbeusedtowritetoafile.

ThefollowingcodeillustratestheuseoftheOpenAsTextStreammethod:

FunctionTextStreamTestConstForReading=1,ForWriting=2,ForAppending=8ConstTristateUseDefault=-2,TristateTrue=-1,TristateFalse=0Dimfso,f,tsSetfso=CreateObject("Scripting.FileSystemObject")fso.CreateTextFile"test1.txt"'Createafile.Setf=fso.GetFile("test1.txt")Setts=f.OpenAsTextStream(ForWriting,TristateUseDefaultts.Write"HelloWorld"ts.CloseSetts=f.OpenAsTextStream(ForReading,TristateUseDefault

Page 515: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

TextStreamTest=ts.ReadLinets.CloseEndFunction

Page 516: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OpenTextFileMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesTo

Description

OpensaspecifiedfileandreturnsaTextStreamobjectthatcanbeusedtoreadfrom,writeto,orappendtothefile.

Syntax

object.OpenTextFile(filename[,iomode[,create[,format]]])

TheOpenTextFilemethodhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaFileSystemObject.

filename Required.Stringexpressionthatidentifiesthefiletoopen.

iomodeOptional.Indicatesinput/outputmode.Canbeoneofthreeconstants:ForReading,ForWriting,orForAppending.

create

Optional.Booleanvaluethatindicateswhetheranewfilecanbecreatedifthespecifiedfilenamedoesn'texist.ThevalueisTrueifanewfileiscreated;Falseifitisn'tcreated.ThedefaultisFalse.

formatOptional.OneofthreeTristatevaluesusedtoindicatetheformatoftheopenedfile.Ifomitted,thefileisopenedasASCII.

Settings

Theiomodeargumentcanhaveeitherofthefollowingsettings:

Page 517: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Constant Value Description

ForReading 1 Openafileforreadingonly.Youcan'twritetothisfile.

ForWriting 2 Openafileforwritingonly.Youcan'treadfromthisfile.

ForAppending 8 Openafileandwritetotheendofthefile.

Theformatargumentcanhaveanyofthefollowingsettings:

Constant Value Description

TristateUseDefault -2 Opensthefileusingthesystemdefault.

TristateTrue -1 OpensthefileasUnicode.TristateFalse 0 OpensthefileasASCII.

Remarks

ThefollowingcodeillustratestheuseoftheOpenTextFilemethodtoopenafileforwritingtext:

SubOpenTextFileTestConstForReading=1,ForWriting=2,ForAppending=8Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.Write"Helloworld!"f.CloseEndSub

Page 518: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ParentFolderProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthefolderobjectfortheparentofthespecifiedfileorfolder.Read-only.

Syntax

object.ParentFolder

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheParentFolderpropertywithafile:

FunctionShowFileAccessInfo(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s=UCase(f.Name)&"in"&UCase(f.ParentFolder)&"<BR>"s=s&"Created:"&f.DateCreated&"<BR>"s=s&"LastAccessed:"&f.DateLastAccessed&"<BR>"s=s&"LastModified:"&f.DateLastModifiedShowFileAccessInfo=sEndFunction

Page 519: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPathProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthepathforaspecifiedfile,folder,ordrive.

Syntax

object.Path

TheobjectisalwaysaFile,Folder,orDriveobject.

Remarks

Fordriveletters,therootdriveisnotincluded.Forexample,thepathfortheCdriveisC:,notC:\.

ThefollowingcodeillustratestheuseofthePathpropertywithaFileobject:

FunctionShowFileAccessInfo(filespec)Dimfso,d,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s=UCase(f.Path)&"<BR>"s=s&"Created:"&f.DateCreated&"<BR>"s=s&"LastAccessed:"&f.DateLastAccessed&"<BR>"s=s&"LastModified:"&f.DateLastModifiedShowFileAccessInfo=sEndFunction

Page 520: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReadMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ReadsaspecifiednumberofcharactersfromaTextStreamfileandreturnstheresultingstring.

Syntax

object.Read(characters)

TheReadmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaTextStreamobject.

characters Required.Numberofcharactersyouwanttoreadfromthefile.

Remarks

ThefollowingexampleillustrateshowtousetheReadmethodtoreadfivecharactersfromafileandreturntheresultingstring:

FunctionReadTextFileTestConstForReading=1,ForWriting=2,ForAppending=8Dimfso,f,MsgSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)

Page 521: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

f.Write"Helloworld!"Setf=fso.OpenTextFile("c:\testfile.txt",ForReading)ReadTextFileTest=f.Read(5)EndFunction

Page 522: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReadAllMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

ReadsanentireTextStreamfileandreturnstheresultingstring.

Syntax

object.ReadAll

TheobjectisalwaysthenameofaTextStreamobject.

Remarks

Forlargefiles,usingtheReadAllmethodwastesmemoryresources.Othertechniquesshouldbeusedtoinputafile,suchasreadingafilelinebyline.

FunctionReadAllTextFileConstForReading=1,ForWriting=2Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.Write"Helloworld!"Setf=fso.OpenTextFile("c:\testfile.txt",ForReading)ReadAllTextFile=f.ReadAllEndFunction

Page 523: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ReadLineMethodScriptingRun-TimeReference

Version2

SeeAlsoAppliesto

Description

Readsanentireline(upto,butnotincluding,thenewlinecharacter)fromaTextStreamfileandreturnstheresultingstring.

Syntax

object.ReadLine

TheobjectargumentisalwaysthenameofaTextStreamobject.

Remarks

ThefollowingexampleshowshowtousetheReadLinemethodtoreadalinefromaTextStreamfileandreturnthestring:

FunctionReadLineTextFileConstForReading=1,ForWriting=2Dimfso,MyFileSetfso=CreateObject("Scripting.FileSystemObject")SetMyFile=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)MyFile.WriteLine"Helloworld!"MyFile.WriteLine"Thequickbrownfox"MyFile.CloseSetMyFile=fso.OpenTextFile("c:\testfile.txt",ForReading)ReadLineTextFile=MyFile.ReadLine'Returns"Helloworld!"EndFunction

Page 524: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRemoveMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

Removesakey,itempairfromaDictionaryobject.

Syntax

object.Remove(key)

TheRemovemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaDictionaryobject.

key Required.Keyassociatedwiththekey,itempairyouwanttoremovefromtheDictionaryobject.

Remarks

Anerroroccursifthespecifiedkey,itempairdoesnotexist.

ThefollowingcodeillustratesuseoftheRemovemethod:

Dima,d'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"...

Page 525: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

d.Remove("b")'Removesecondpair.

Page 526: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RemoveAllMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

TheRemoveAllmethodremovesallkey,itempairsfromaDictionaryobject.

Syntax

object.RemoveAll

TheobjectisalwaysthenameofaDictionaryobject.

Remarks

ThefollowingcodeillustratesuseoftheRemoveAllmethod:

Dima,d,i'Createsomevariables.Setd=CreateObject("Scripting.Dictionary")d.Add"a","Athens"'Addsomekeysanditems.d.Add"b","Belgrade"d.Add"c","Cairo"...a=d.RemoveAll'Clearthedictionary.

Page 527: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RootFolderProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsaFolderobjectrepresentingtherootfolderofaspecifieddrive.Read-only.

Syntax

object.RootFolder

TheobjectisalwaysaDriveobject.

Remarks

AllthefilesandfolderscontainedonthedrivecanbeaccessedusingthereturnedFolderobject.

ThefollowingexampleillustratestheuseoftheRootFolderproperty:

FunctionShowRootFolder(drvspec)Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetDrive(drvspec)ShowRootFolder=f.RootFolderEndFunction

Page 528: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SerialNumberProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthedecimalserialnumberusedtouniquelyidentifyadiskvolume.

Syntax

object.SerialNumber

TheobjectisalwaysaDriveobject.

Remarks

YoucanusetheSerialNumberpropertytoensurethatthecorrectdiskisinsertedinadrivewithremovablemedia.

ThefollowingcodeillustratestheuseoftheSerialNumberproperty:

FunctionShowDriveInfo(drvpath)Dimfso,d,s,tSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))SelectCased.DriveTypeCase0:t="Unknown"Case1:t="Removable"Case2:t="Fixed"Case3:t="Network"Case4:t="CD-ROM"Case5:t="RAMDisk"EndSelect

Page 529: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

s="Drive"&d.DriveLetter&":-"&ts=s&"<BR>"&"SN:"&d.SerialNumberShowDriveInfo=sEndFunction

Page 530: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShareNameProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsthenetworksharenameforaspecifieddrive.

Syntax

object.ShareName

TheobjectisalwaysaDriveobject.

Remarks

Ifobjectisnotanetworkdrive,theShareNamepropertyreturnsazero-lengthstring("").

ThefollowingcodeillustratestheuseoftheShareNameproperty:

FunctionShowDriveInfo(drvpath)Dimfso,dSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))ShowDriveInfo="Drive"&d.DriveLetter&":-"&d.ShareNameEndFunction

Page 531: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShortNameProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnstheshortnameusedbyprogramsthatrequiretheearlier8.3namingconvention.

Syntax

object.ShortName

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheShortNamepropertywithaFileobject:

FunctionShowShortName(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s="Theshortnamefor"&UCase(f.Name)&"<BR>"s=s&"is:"&f.ShortNameShowShortName=sEndFunction

Page 532: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShortPathProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnstheshortpathusedbyprogramsthatrequiretheearlier8.3filenamingconvention.

Syntax

object.ShortPath

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheShortNamepropertywithaFileobject:

FunctionShowShortPath(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFile(filespec)s="Theshortpathfor"&UCase(f.Name)&"<BR>"s=s&"is:"&f.ShortPathShowShortPath=sEndFunction

Page 533: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSizeProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Forfiles,returnsthesize,inbytes,ofthespecifiedfile.Forfolders,returnsthesize,inbytes,ofallfilesandsubfolderscontainedinthefolder.

Syntax

object.Size

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheSizepropertywithaFolderobject:

FunctionShowFolderSize(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(filespec)s=UCase(f.Name)&"uses"&f.size&"bytes."ShowFolderSize=sEndFunction

Page 534: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSkipMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesTo

Description

SkipsaspecifiednumberofcharacterswhenreadingaTextStreamfile.

Syntax

object.Skip(characters)

TheSkipmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaTextStreamobject.

characters Required.Numberofcharacterstoskipwhenreadingafile.

Remarks

Skippedcharactersarediscarded.

ThefollowingexampleusestheSkipmethodtoskipthefirstsixcharactersbeforereadingfromatextfile:

FunctionSkipTextFileConstForReading=1,ForWriting=2Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.Write"Helloworld!"

Page 535: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Setf=fso.OpenTextFile("c:\testfile.txt",ForReading)f.Skip(6)SkipTextFile=f.ReadLineEndFunction

Page 536: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SkipLineMethodScriptingRun-TimeReference

Version2

SeeAlsoAppliesto

Description

SkipsthenextlinewhenreadingaTextStreamfile.

Syntax

object.SkipLine

TheobjectisalwaysthenameofaTextStreamobject.

Remarks

Skippingalinemeansreadinganddiscardingallcharactersinalineuptoandincludingthenextnewlinecharacter.Anerroroccursifthefileisnotopenforreading.

ThefollowingexampleillustratesuseoftheSkipLinemethod:

FunctionSkipLineInFileConstForReading=1,ForWriting=2Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.Write"Helloworld!"&vbCrLf&"VBScriptisfun!"Setf=fso.OpenTextFile("c:\testfile.txt",ForReading)f.SkipLineSkipLineInFile=f.ReadLineEndFunction

Page 537: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SpecialFolderConstants

ScriptingRun-TimeReferenceVersion3

SeeAlso

Theseconstantsareonlyavailablewhenyourprojecthasanexplicitreferencetotheappropriatetypelibrarycontainingtheseconstantdefinitions.ForVBScript,youmustexplicitlydeclaretheseconstantsinyourcode.

Constant Value Description

WindowsFolder 0TheWindowsfoldercontainsfilesinstalledbytheWindowsoperatingsystem.

SystemFolder 1 TheSystemfoldercontainslibraries,fonts,anddevicedrivers.

TemporaryFolder 2TheTempfolderisusedtostoretemporaryfiles.ItspathisfoundintheTMPenvironmentvariable.

Page 538: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SubFoldersProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

ReturnsaFolderscollectionconsistingofallfolderscontainedinaspecifiedfolder,includingthosewithHiddenandSystemfileattributesset.

Syntax

object.SubFolders

TheobjectisalwaysaFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheSubFoldersproperty:

FunctionShowFolderList(folderspec)Dimfso,f,f1,s,sfSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(folderspec)Setsf=f.SubFoldersForEachf1insfs=s&f1.names=s&"<BR>"NextShowFolderList=sEndFunction

Page 539: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TextStreamObjectScriptingRun-TimeReference

Version2

SeeAlsoPropertiesMethods

Description

Facilitatessequentialaccesstoafile.

Remarks

Inthefollowingcode,aistheTextStreamobjectreturnedbytheCreateTextFilemethodontheFileSystemObject:

Dimfso,MyFileSetfso=CreateObject("Scripting.FileSystemObject")SetMyFile=fso.CreateTextFile("c:\testfile.txt",True)MyFile.WriteLine("Thisisatest.")MyFile.Close

WriteLineandClosearetwomethodsoftheTextStreamObject.

Page 540: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TotalSizePropertyScriptingRun-TimeReference

Version3

SeeAlsoAppliesTo

Description

Returnsthetotalspace,inbytes,ofadriveornetworkshare.

Syntax

object.TotalSize

TheobjectisalwaysaDriveobject.

Remarks

ThefollowingcodeillustratestheuseoftheTotalSizeproperty:

FunctionShowSpaceInfo(drvpath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))s="Drive"&d.DriveLetter&":"s=s&vbCrLfs=s&"TotalSize:"&FormatNumber(d.TotalSize/1024,0)&"Kbytes"s=s&vbCrLfs=s&"Available:"&FormatNumber(d.AvailableSpace/1024,0)&"Kbytes"ShowSpaceInfo=sEndFunction

Page 541: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTypeProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Returnsinformationaboutthetypeofafileorfolder.Forexample,forfilesendingin.TXT,"TextDocument"isreturned.

Syntax

object.Type

TheobjectisalwaysaFileorFolderobject.

Remarks

ThefollowingcodeillustratestheuseoftheTypepropertytoreturnafoldertype.Inthisexample,tryprovidingthepathoftheRecycleBinorotheruniquefoldertotheprocedure.

FunctionShowFolderType(filespec)Dimfso,f,sSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.GetFolder(filespec)s=UCase(f.Name)&"isa"&f.TypeShowFolderType=sEndFunction

Page 542: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VolumeNameProperty

ScriptingRun-TimeReferenceVersion3

SeeAlsoAppliesTo

Description

Setsorreturnsthevolumenameofthespecifieddrive.Read/write.

Syntax

object.VolumeName[=newname]

TheVolumeNamepropertyhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaDriveobject.

newname Optional.Ifprovided,newnameisthenewnameofthespecifiedobject.

Remarks

ThefollowingcodeillustratestheuseoftheVolumeNameproperty:

FunctionShowVolumeInfo(drvpath)Dimfso,d,sSetfso=CreateObject("Scripting.FileSystemObject")Setd=fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))s="Drive"&d.DriveLetter&":-"&d.VolumeNameShowVolumeInfo=sEndFunction

Page 543: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionWriteMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

WritesaspecifiedstringtoaTextStreamfile.

Syntax

object.Write(string)

TheWritemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaTextStreamobject.string Required.Thetextyouwanttowritetothefile.

Remarks

Specifiedstringsarewrittentothefilewithnointerveningspacesorcharactersbetweeneachstring.UsetheWriteLinemethodtowriteanewlinecharacterorastringthatendswithanewlinecharacter.

ThefollowingexampleillustratesuseoftheWritemethod:

FunctionWriteToFileConstForReading=1,ForWriting=2Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.Write"Helloworld!"

Page 544: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Setf=fso.OpenTextFile("c:\testfile.txt",ForReading)WriteToFile=f.ReadLineEndFunction

Page 545: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WriteBlankLinesMethod

ScriptingRun-TimeReferenceVersion2

SeeAlsoAppliesto

Description

WritesaspecifiednumberofnewlinecharacterstoaTextStreamfile.

Syntax

object.WriteBlankLines(lines)

TheWriteBlankLinesmethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaTextStreamobject.

lines Required.Numberofnewlinecharactersyouwanttowritetothefile.

Remarks

ThefollowingexampleillustratesuseoftheWriteBlankLinesmethod:

FunctionWriteBlankLinesToFileConstForReading=1,ForWriting=2Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.WriteBlankLines2f.WriteLine"HelloWorld!"Setf=fso.OpenTextFile("c:\testfile.txt",ForReading)WriteBlankLinesToFile=f.ReadAll

Page 546: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EndFunction

Page 547: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WriteLineMethodScriptingRun-TimeReference

Version2

SeeAlsoAppliesto

Description

WritesaspecifiedstringandnewlinecharactertoaTextStreamfile.

Syntax

object.WriteLine([string])

TheWriteLinemethodsyntaxhastheseparts:

Part Descriptionobject Required.AlwaysthenameofaTextStreamobject.

string Optional.Thetextyouwanttowritetothefile.Ifomitted,anewlinecharacteriswrittentothefile.

Remarks

ThefollowingexampleillustratesuseoftheWriteLinemethod:

FunctionWriteLineToFileConstForReading=1,ForWriting=2Dimfso,fSetfso=CreateObject("Scripting.FileSystemObject")Setf=fso.OpenTextFile("c:\testfile.txt",ForWriting,True)f.WriteLine"Helloworld!"f.WriteLine"VBScriptisfun!"Setf=fso.OpenTextFile("c:\testfile.txt",ForReading)WriteLineToFile=f.ReadAllEndFunction

Page 548: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Copyright

Microsoft®VisualBasic®ScriptingEdition

Informationinthisdocumentissubjecttochangewithoutnotice.Thenamesofcompanies,products,people,characters,and/ordatamentionedhereinarefictitiousandareinnowayintendedtorepresentanyrealindividual,company,product,orevent,unlessotherwisenoted.Complyingwithallapplicablecopyrightlawsistheresponsibilityoftheuser.Nopartofthisdocumentmaybereproducedortransmittedinanyformorbyanymeans,electronicormechanical,foranypurpose,withouttheexpresswrittenpermissionofMicrosoftCorporation.

Microsoftmayhavepatents,patentapplications,trademarks,copyrights,orotherintellectualpropertyrightscoveringsubjectmatterinthisdocument.ExceptasexpresslyprovidedinanywrittenlicenseagreementfromMicrosoft,thefurnishingofthisdocumentdoesnotgiveyouanylicensetothesepatents,trademarks,copyrights,orotherintellectualproperty.

©1991-1999MicrosoftCorporation.Allrightsreserved.

Microsoft,MS,MS-DOS,ActiveX,JScript,MicrosoftPress,VisualBasic,Windows,WindowsNT,Win32,andWin32sareeitherregisteredtrademarksortrademarksofMicrosoftCorporationintheU.S.A.and/orothercountries.

Otherproductandcompanynamesmentionedhereinmaybethetrademarksoftheirrespectiveowners.

Page 549: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

InStrRevFunctionLanguageReference

Version2

SeeAlso

Description

Returnsthepositionofanoccurrenceofonestringwithinanother,fromtheendofstring.

Syntax

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

TheInStrRevfunctionsyntaxhastheseparts:

Part Descriptionstring1 Required.Stringexpressionbeingsearched.string2 Required.Stringexpressionbeingsearchedfor.

start

Optional.Numericexpressionthatsetsthestartingpositionforeachsearch.Ifomitted,-1isused,whichmeansthatthesearchbeginsatthelastcharacterposition.IfstartcontainsNull,anerroroccurs.

compare

Optional.Numericvalueindicatingthekindofcomparisontousewhenevaluatingsubstrings.Ifomitted,abinarycomparisonisperformed.SeeSettingssectionforvalues.

Settings

Thecompareargumentcanhavethefollowingvalues:

Constant Value DescriptionvbBinaryCompare 0 Performabinarycomparison.vbTextCompare 1 Performatextualcomparison.

Page 550: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

ReturnValues

InStrRevreturnsthefollowingvalues:

If InStrRevreturnsstring1iszero-length 0string1isNull Nullstring2iszero-length startstring2isNull Nullstring2isnotfound 0string2isfoundwithinstring1 Positionatwhichmatchisfoundstart>Len(string2) 0

Remarks

ThefollowingexamplesusetheInStrRevfunctiontosearchastring:

DimSearchString,SearchChar,MyPosSearchString="XXpXXpXXPXXP" 'Stringtosearchin.SearchChar="P" 'Searchfor"P".MyPos=InstrRev(SearchString,SearchChar,10,0) 'Abinarycomparisonstartingat 'position10.Returns9.MyPos=InstrRev(SearchString,SearchChar,-1,1) 'Atextualcomparisonstartingat 'thelastposition.Returns12.MyPos=InstrRev(SearchString,SearchChar,8) 'Comparisonisbinarybydefault(last 'argumentisomitted).Returns0.

NoteThesyntaxfortheInStrRevfunctionisnotthesameasthesyntaxfortheInStrfunction.

Page 551: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAbsFunctionSeeAlso

LanguageReference

SgnFunction

Page 552: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptGlossary LanguageReference

ActiveXcontrol

Anobjectthatyouplaceonaformtoenableorenhanceauser'sinteractionwithanapplication.ActiveXcontrolshaveeventsandcanbeincorporatedintoothercontrols.Thecontrolshavean.ocxfilenameextension.

ActiveXobjectAnobjectthatisexposedtootherapplicationsorprogrammingtoolsthroughAutomationinterfaces.

argumentAconstant,variable,orexpressionpassedtoaprocedure.

arrayAsetofsequentiallyindexedelementshavingthesametypeofdata.Eachelementofanarrayhasauniqueidentifyingindexnumber.Changesmadetooneelementofanarraydonotaffecttheotherelements.

ASCIICharacterSetAmericanStandardCodeforInformationInterchange(ASCII)7-bitcharactersetwidelyusedtorepresentlettersandsymbolsfoundonastandardU.S.keyboard.TheASCIIcharactersetisthesameasthefirst128characters(0–127)intheANSIcharacterset.

AutomationobjectAnobjectthatisexposedtootherapplicationsorprogrammingtoolsthroughAutomationinterfaces.

bitwisecomparisonAbit-by-bitcomparisonofidenticallypositionedbitsintwonumericexpressions.

Page 553: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

BooleanexpressionAnexpressionthatevaluatestoeitherTrueorFalse.

byreferenceAwayofpassingtheaddress,ratherthanthevalue,ofanargumenttoaprocedure.Thisallowstheproceduretoaccesstheactualvariable.Asaresult,thevariable'sactualvaluecanbechangedbytheproceduretowhichitispassed.

byvalueAwayofpassingthevalue,ratherthantheaddress,ofanargumenttoaprocedure.Thisallowstheproceduretoaccessacopyofthevariable.Asaresult,thevariable'sactualvaluecan'tbechangedbytheproceduretowhichitispassed.

charactercodeAnumberthatrepresentsaparticularcharacterinaset,suchastheASCIIcharacterset.

classTheformaldefinitionofanobject.Theclassactsasthetemplatefromwhichaninstanceofanobjectiscreatedatruntime.Theclassdefinesthepropertiesoftheobjectandthemethodsusedtocontroltheobject'sbehavior.

classmoduleAmodulecontainingthedefinitionofaclass(itspropertyandmethoddefinitions).

collectionAnobjectthatcontainsasetofrelatedobjects.Anobject'spositioninthecollectioncanchangewheneverachangeoccursinthecollection;therefore,thepositionofanyspecificobjectinthecollectionmayvary.

commentTextaddedtocodebyaprogrammerthatexplainshowthecodeworks.InVisualBasicScriptingEdition,acommentlinegenerallystartswithanapostrophe('),oryoucanusethekeywordRemfollowedbyaspace.

Page 554: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

comparisonoperatorAcharacterorsymbolindicatingarelationshipbetweentwoormorevaluesorexpressions.Theseoperatorsincludelessthan(<),lessthanorequalto(<=),greaterthan(>),greaterthanorequalto(>=),notequal(<>),andequal(=).

Isisalsoacomparisonoperator,butitisusedexclusivelyfordeterminingifoneobjectreferenceisthesameasanother.

constantAnameditemthatretainsaconstantvaluethroughouttheexecutionofaprogram.Constantscanbeusedanywhereinyourcodeinplaceofactualvalues.Aconstantcanbeastringornumericliteral,anotherconstant,oranycombinationthatincludesarithmeticorlogicaloperatorsexceptIsandexponentiation.Forexample:

ConstA="MyString"

datarangesEachVariantsubtypehasaspecificrangeofallowedvalues:

Subtype RangeByte 0to255.Boolean TrueorFalse.Integer -32,768to32,767.Long -2,147,483,648to2,147,483,647.

Single -3.402823E38to-1.401298E-45fornegativevalues;1.401298E-45to3.402823E38forpositivevalues.

Double-1.79769313486232E308to-4.94065645841247E-324fornegativevalues;4.94065645841247E-324to1.79769313486232E308forpositivevalues.

Currency -922,337,203,685,477.5808to922,337,203,685,477.5807.Date January1,100toDecember31,9999,inclusive.Object AnyObjectreference.

Page 555: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

String Variable-lengthstringsmayrangeinlengthfrom0toapproximately2billioncharacters.

dateexpressionAnyexpressionthatcanbeinterpretedasadate.Thisincludesanycombinationofdateliterals,numbersthatlooklikedates,stringsthatlooklikedates,anddatesreturnedfromfunctions.Adateexpressionislimitedtonumbersorstrings,inanycombination,thatcanrepresentadatefromJanuary1,100throughDecember31,9999.

Datesarestoredaspartofarealnumber.Valuestotheleftofthedecimalrepresentthedate;valuestotherightofthedecimalrepresentthetime.NegativenumbersrepresentdatespriortoDecember30,1899.

dateliteralAnysequenceofcharacterswithavalidformatthatissurroundedbynumbersigns(#).Validformatsincludethedateformatspecifiedbythelocalesettingsforyourcodeortheuniversaldateformat.Forexample,#12/31/99#isthedateliteralthatrepresentsDecember31,1999,whereEnglish-U.S.isthelocalesettingforyourapplication.

VBScriptalwaysinterpretsadateliteralasUS-ENGLISHifitispossibletodoso.Ifadateliteralcannotbeinterpretedasadate,anerroroccurs.

dateseparatorsCharactersusedtoseparatetheday,month,andyearwhendatevaluesareformatted.

EmptyAvaluethatindicatesthatnobeginningvaluehasbeenassignedtoavariable.Emptyvariablesare0inanumericcontext,orzero-lengthinastringcontext.

errornumberAwholenumberintherange0to65,535,inclusive,thatcorrespondstotheNumberpropertyoftheErrobject.WhencombinedwiththeNamepropertyoftheErrobject,thisnumberrepresentsaparticularerrormessage.

expression

Page 556: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Acombinationofkeywords,operators,variables,andconstantsthatyieldastring,number,orobject.Anexpressioncanperformacalculation,manipulatecharacters,ortestdata.

intrinsicconstantAconstantprovidedbyanapplication.Becauseyoucan'tdisableintrinsicconstants,youcan'tcreateauser-definedconstantwiththesamename.

keywordAwordorsymbolrecognizedaspartoftheVBScriptlanguage;forexample,astatement,functionname,oroperator.

localeThesetofinformationthatcorrespondstoagivenlanguageandcountry/region.Alocaleaffectsthelanguageofpredefinedprogrammingtermsandlocale-specificsettings.Therearetwocontextswherelocaleinformationisimportant:

Thecodelocaleaffectsthelanguageoftermssuchaskeywordsanddefineslocale-specificsettingssuchasthedecimalandlistseparators,dateformats,andcharactersortingorder.

Thesystemlocaleaffectsthewaylocale-awarefunctionalitybehaves,forexample,whenyoudisplaynumbersorconvertstringstodates.YousetthesystemlocaleusingtheControlPanelutilitiesprovidedbytheoperatingsystem.

NothingThespecialvaluethatindicatesthatanobjectvariableisnolongerassociatedwithanyactualobject.

NullAvalueindicatingthatavariablecontainsnovaliddata.Nullistheresultof:

AnexplicitassignmentofNulltoavariable.

AnyoperationbetweenexpressionsthatcontainNull.

numericexpressionAnyexpressionthatcanbeevaluatedasanumber.Elementsoftheexpressioncanincludeanycombinationofkeywords,variables,constants,andoperatorsthatresultinanumber.

Page 557: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

objecttypeAtypeofobjectexposedbyanapplication,forexample,Application,File,Range,andSheet.Refertotheapplication'sdocumentation(MicrosoftExcel,MicrosoftProject,MicrosoftWord,andsoon)foracompletelistingofavailableobjects.

piPiisamathematicalconstantequaltoapproximately3.1415926535897932.

PrivateVariablesthatarevisibleonlytothescriptinwhichtheyaredeclared.

procedureAnamedsequenceofstatementsexecutedasaunit.Forexample,FunctionandSubaretypesofprocedures.

procedurelevelDescribesstatementslocatedwithinaFunctionorSubprocedure.Declarationsareusuallylistedfirst,followedbyassignmentsandotherexecutablecode.Forexample:

SubMySub()'Thisstatementdeclaresasubprocedureblock.DimA'Thisstatementstartstheprocedureblock.A="Myvariable"'Procedure-levelcode.Debug.PrintA'Procedure-levelcode.EndSub'Thisstatementendsasubprocedureblock.

Notethatscript-levelcoderesidesoutsideanyprocedureblocks.

propertyAnamedattributeofanobject.Propertiesdefineobjectcharacteristicssuchassize,color,andscreenlocation,orthestateofanobject,suchasenabledordisabled.

Page 558: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

PublicVariablesdeclaredusingthePublicStatementarevisibletoallproceduresinallmodulesinallapplications.

runtimeThetimewhencodeisrunning.Duringruntime,youcan'teditthecode.

run-timeerrorAnerrorthatoccurswhencodeisrunning.Arun-timeerrorresultswhenastatementattemptsaninvalidoperation.

scopeDefinesthevisibilityofavariable,procedure,orobject.Forexample,avariabledeclaredasPublicisvisibletoallproceduresinallmodules.Variablesdeclaredinproceduresarevisibleonlywithintheprocedureandlosetheirvaluebetweencalls.

SCODEAlongintegervaluethatisusedtopassdetailedinformationtothecallerofaninterfacememberorAPIfunction.ThestatuscodesforOLEinterfacesandAPIsaredefinedinFACILITY_ITF.

scriptlevelAnycodeoutsideaprocedureisreferredtoasscript-levelcode.

seedAninitialvalueusedtogeneratepseudorandomnumbers.Forexample,theRandomizestatementcreatesaseednumberusedbytheRndfunctiontocreateuniquepseudorandomnumbersequences.

stringcomparisonAcomparisonoftwosequencesofcharacters.Unlessspecifiedinthefunctionmakingthecomparison,allstringcomparisonsarebinary.InEnglish,binarycomparisonsarecase-sensitive;textcomparisonsarenot.

Page 559: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

stringexpressionAnyexpressionthatevaluatestoasequenceofcontiguouscharacters.Elementsofastringexpressioncanincludeafunctionthatreturnsastring,astringliteral,astringconstant,orastringvariable.

typelibraryAfileorcomponentwithinanotherfilethatcontainsstandarddescriptionsofexposedobjects,properties,andmethods.

variableAnamedstoragelocationthatcancontaindatathatcanbemodifiedduringprogramexecution.Eachvariablehasanamethatuniquelyidentifiesitwithinitslevelofscope.

Variablenames:

Mustbeginwithanalphabeticcharacter.

Can'tcontainanembeddedperiodortype-declarationcharacter.

Mustbeuniquewithinthesamescope.

Mustbenolongerthan255characters.

Page 560: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition+OperatorSeeAlso

ScriptingRun-TimeReference

&Operator-OperatorArithmeticOperatorsConcatenationOperatorsOperatorPrecedenceOperatorSummary

Page 561: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAndOperatorSeeAlso

LanguageReference

LogicalOperatorsNotOperatorOperatorPrecedenceOperatorSummaryOrOperatorXorOperator

Page 562: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionArrayFunctionSeeAlso

LanguageReference

DimStatement

Page 563: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAscFunctionSeeAlso

LanguageReference

ChrFunction

Page 564: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition=OperatorSeeAlso

LanguageReference

ComparisonOperatorsOperatorPrecedenceOperatorSummarySetStatement

Page 565: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAtnFunctionSeeAlso

LanguageReference

CosFunctionDerivedMathFunctionsSinFunctionTanFunction

Page 566: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCBoolFunctionSeeAlso

LanguageReference

CByteFunctionCCurFunctionCDateFunctionCDblFunctionCIntFunctionCLngFunctionCSngFunctionCStrFunction

Page 567: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCByteFunctionSeeAlso

LanguageReference

CBoolFunctionCCurFunctionCDateFunctionCDblFunctionCIntFunctionCLngFunctionCSngFunctionCStrFunction

Page 568: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCCurFunctionSeeAlso

LanguageReference

CBoolFunctionCByteFunctionCDateFunctionCDblFunctionCIntFunctionCLngFunctionCSngFunctionCStrFunction

Page 569: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCDateFunctionSeeAlso

LanguageReference

IsDateFunction

Page 570: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCDblFunctionSeeAlso

LanguageReference

CBoolFunctionCByteFunctionCCurFunctionCDateFunctionCIntFunctionCLngFunctionCSngFunctionCStrFunction

Page 571: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionChrFunctionSeeAlso

LanguageReference

AscFunction

Page 572: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCIntFunctionSeeAlso

LanguageReference

CBoolFunctionCByteFunctionCCurFunctionCDateFunctionCDblFunctionCLngFunctionCSngFunctionCStrFunctionInt,FixFunctions

Page 573: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionVersionInformation

LanguageReference

ThefollowingtableliststheversionofMicrosoftVisualBasicScriptingEditionimplementedbyhostapplications.

HostApplicationVBScriptVersion1.0 2.0 3.0 4.0 5.0

MicrosoftInternetExplorer3.0 x MicrosoftInternetInformationServer3.0 x MicrosoftInternetExplorer4.0 x MicrosoftInternetInformationServer4.0 x MicrosoftWindowsScriptingHost1.0 x MicrosoftOutlook98 x MicrosoftVisualStudio6.0 x MicrosoftInternetExplorer5.0 xMicrosoftInternetInformationServices5.0 x

ThefollowingtablelistsVBScriptlanguagefeaturesandtheversionwhenfirstintroduced.

LanguageElementVersionFirstIntroduced

1.0 2.0 3.0 4.0 5.0AbsFunction x AdditionOperator(+) x AndOperator x ArrayFunction x AscFunction x

Page 574: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

AssignmentOperator(=) x AtnFunction x CallStatement x CBoolFunction x CByteFunction x CCurFunction x CDateFunction x CDblFunction x ChrFunction x CIntFunction x ClassObject xClassStatement xClearMethod x CLngFunction x ColorConstants x ComparisonConstants x ConcatenationOperator(&) x ConstStatement x CosFunction x CreateObjectFunction x CSngFunction x CStrFunction x DateandTimeConstants x DateFormatConstants x DateFunction x DateAddFunction x DateDiffFunction x DatePartFunction x DateSerialFunction x DateValueFunction x

Page 575: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DayFunction x

DescriptionProperty x DimStatement x DivisionOperator(/) x Do...LoopStatement x Empty x EqvOperator x EraseStatement x ErrObject x EvalFunction xExecuteMethod xExecuteStatement xExecuteGlobalStatement xExitStatement x ExpFunction x ExponentiationOperator(^) x False x FilterFunction x FirstIndexProperty xFixFunction x For...NextStatement x ForEach...NextStatement x FormatCurrencyFunction x FormatDateTimeFunction x FormatNumberFunction x FormatPercentFunction x FunctionStatement x GetLocaleFunction xGetObjectFunction x

Page 576: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

GetRefFunction xGlobalProperty x

HexFunction x HelpContextProperty x HelpFileProperty x HourFunction x If...Then...ElseStatement x IgnoreCaseProperty xImpOperator x InitializeEvent xInputBoxFunction x InStrFunction x InStrRevFunction x IntFunction x IntegerDivisionOperator(\) x IsOperator x IsArrayFunction x IsDateFunction x IsEmptyFunction x IsNullFunction x IsNumericFunction x IsObjectFunction x JoinFunction x LBoundFunction x LCaseFunction x LeftFunction x LenFunction x LengthProperty xLoadPictureFunction x

Page 577: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

LogFunction x LTrimFunction x MatchObject x

MatchesCollection xMidFunction x MinuteFunction x MiscellaneousConstants x ModOperator x MonthFunction x MonthNameFunction x MsgBoxConstants x MsgBoxFunction x MultiplicationOperator(*) x NegationOperator(-) x NotOperator x NowFunction x Nothing x Null x NumberProperty x OctFunction x OnErrorStatement x OptionExplicitStatement x OrOperator x PatternProperty xPrivateStatement x PropertyGetStatement xPropertyLetStatement xPropertySetStatement xPublicStatement x

Page 578: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

RaiseMethod x RandomizeStatement x ReDimStatement x RegExpObject x

RemStatement x ReplaceFunction x ReplaceMethod xRGBFunction x RightFunction x RndFunction x RoundFunction x RTrimFunction x ScriptEngineFunction x ScriptEngineBuildVersionFunction x

ScriptEngineMajorVersionFunction x

ScriptEngineMinorVersionFunction x

SecondFunction x SelectCaseStatement x SetStatement x SetLocaleFunction xSgnFunction x SinFunction x SourceProperty x SpaceFunction x SplitFunction x SqrFunction x StrCompFunction x

Page 579: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

StringConstants x StringFunction x StrReverseFunction x SubStatement x SubtractionOperator(-) x TanFunction x TerminateEvent xTestMethod xTimeFunction x TimerFunction xTimeSerialFunction x TimeValueFunction x TrimFunction x TristateConstants x True x TypeNameFunction x UBoundFunction x UCaseFunction x ValueProperty xVarTypeConstants x VarTypeFunction x VBScriptConstants x WeekdayFunction x WeekdayNameFunction x While...WendStatement x WithStatement xXorOperator x YearFunction x

Page 580: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClassObjectSeeAlso

LanguageReference

ClassStatementDimStatementSetStatement

Page 581: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClassObjectEvents

LanguageReference

InitializeEventTerminateEvent

Page 582: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClassStatementSeeAlso

LanguageReference

DimStatementFunctionStatementPrivateStatementPropertyGetStatementPropertyLetStatementPropertySetStatementPublicStatementSetStatementSubStatement

Page 583: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClearMethodSeeAlso

LanguageReference

DescriptionPropertyErrObjectNumberPropertyOnErrorStatementRaiseMethodSourceProperty

Page 584: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionClearMethodAppliesTo

LanguageReference

ErrObject

Page 585: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCLngFunctionSeeAlso

LanguageReference

CBoolFunctionCByteFunctionCCurFunctionCDateFunctionCDblFunctionCIntFunctionCSngFunctionCStrFunctionInt,FixFunctions

Page 586: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ComparisonConstantsSeeAlso

LanguageReference

ColorConstantsDateandTimeConstantsDateFormatConstantsMiscellaneousConstantsMsgBoxConstantsStringConstantsTristateConstantsVarTypeConstants

Page 587: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition&OperatorSeeAlso

LanguageReference

ConcatenationOperatorsOperatorPrecedenceOperatorSummary

Page 588: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionConstStatementSeeAlso

LanguageReference

DimStatementFunctionStatementPrivateStatementPublicStatementSubStatement

Page 589: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCosFunctionSeeAlso

LanguageReference

AtnFunctionDerivedMathFunctionsSinFunctionTanFunction

Page 590: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateObjectFunctionSeeAlso

LanguageReference

GetObjectFunction

Page 591: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCSngFunctionSeeAlso

LanguageReference

CBoolFunctionCByteFunctionCCurFunctionCDateFunctionCDblFunctionCIntFunctionCLngFunctionCStrFunction

Page 592: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCStrFunctionSeeAlso

LanguageReference

CBoolFunctionCByteFunctionCCurFunctionCDateFunctionCDblFunctionCIntFunctionCLngFunctionCSngFunction

Page 593: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDateandTimeConstantsSeeAlso

LanguageReference

ColorConstantsComparisonConstantsDateFormatConstantsMiscellaneousConstantsMsgBoxConstantsStringConstantsTristateConstantsVarTypeConstants

Page 594: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDateFormatConstantsSeeAlso

LanguageReference

ColorConstantsComparisonConstantsDateandTimeConstantsMiscellaneousConstantsMsgBoxConstantsStringConstantsTristateConstantsVarTypeConstants

Page 595: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDateFunctionSeeAlso

LanguageReference

CDateFunctionNowFunctionTimeFunction

Page 596: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateAddFunctionSeeAlso

LanguageReference

DateDiffFunctionDatePartFunction

Page 597: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateDiffFunctionSeeAlso

LanguageReference

DateAddFunctionDatePartFunction

Page 598: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DatePartFunctionSeeAlso

LanguageReference

DateAddFunctionDateDiffFunction

Page 599: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateSerialFunctionSeeAlso

LanguageReference

DateFunctionDateValueFunctionDayFunctionMonthFunctionNowFunctionTimeSerialFunctionTimeValueFunctionWeekdayFunctionYearFunction

Page 600: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateValueFunctionSeeAlso

LanguageReference

CDateFunctionDateSerialFunctionDayFunctionMonthFunctionNowFunctionTimeSerialFunctionTimeValueFunctionWeekdayFunctionYearFunction

Page 601: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDayFunctionSeeAlso

LanguageReference

DateFunctionHourFunctionMinuteFunctionMonthFunctionNowFunctionSecondFunctionWeekdayFunctionYearFunction

Page 602: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DescriptionPropertyAppliesTo

LanguageReference

ErrObject

Page 603: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDimStatementSeeAlso

LanguageReference

PrivateStatementPublicStatementReDimStatementSetStatement

Page 604: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition/OperatorSeeAlso

LanguageReference

*Operator\OperatorArithmeticOperatorsOperatorPrecedenceOperatorSummary

Page 605: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

Do...LoopStatementSeeAlso

LanguageReference

ExitStatementFor...NextStatementWhile...WendStatement

Page 606: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionEqvOperatorSeeAlso

LanguageReference

ImpOperatorLogicalOperatorsOperatorPrecedenceOperatorSummary

Page 607: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionEraseStatementSeeAlso

LanguageReference

DimStatementNothingReDimStatement

Page 608: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionErrObjectSeeAlso

LanguageReference

ErrorMessagesOnErrorStatement

Page 609: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionErrObjectProperties

LanguageReference

DescriptionPropertyHelpContextPropertyHelpFilePropertyNumberPropertySourceProperty

Page 610: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionErrObjectMethods

LanguageReference

ClearMethodRaiseMethod

Page 611: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionEvalFunctionSeeAlso

LanguageReference

ExecuteStatement

Page 612: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExecuteMethodSeeAlso

LanguageReference

ReplaceMethodTestMethod

Page 613: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExecuteMethodAppliesTo

LanguageReference

RegExpObject

Page 614: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExecuteStatementSeeAlso

LanguageReference

EvalFunctionExecuteGlobalStatement

Page 615: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExitStatementSeeAlso

LanguageReference

Do...LoopStatementForEach...NextStatementFor...NextStatementFunctionStatementSubStatement

Page 616: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExpFunctionSeeAlso

LanguageReference

DerivedMathFunctionsLogFunction

Page 617: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition^OperatorSeeAlso

LanguageReference

ArithmeticOperatorsOperatorPrecedenceOperatorSummary

Page 618: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilterFunctionSeeAlso

LanguageReference

ReplaceFunction

Page 619: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FirstIndexPropertySeeAlso

LanguageReference

LengthPropertyValueProperty

Page 620: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FirstIndexPropertyAppliesTo

LanguageReference

MatchObject

Page 621: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionInt,FixFunctionsSeeAlso

LanguageReference

CIntFunctionRoundFunction

Page 622: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

For...NextStatementSeeAlso

LanguageReference

Do...LoopStatementExitStatementForEach...NextStatementWhile...WendStatement

Page 623: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionForEach...NextStatementSeeAlso

LanguageReference

Do...LoopStatementExitStatementFor...NextStatementWhile...WendStatement

Page 624: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatCurrencyFunctionSeeAlso

LanguageReference

FormatDateTimeFunctionFormatNumberFunctionFormatPercentFunction

Page 625: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatDateTimeFunctionSeeAlso

LanguageReference

FormatCurrencyFunctionFormatNumberFunctionFormatPercentFunction

Page 626: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatNumberFunctionSeeAlso

LanguageReference

FormatCurrencyFunctionFormatDateTimeFunctionFormatPercentFunction

Page 627: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FormatPercentFunctionSeeAlso

LanguageReference

FormatCurrencyFunctionFormatDateTimeFunctionFormatNumberFunction

Page 628: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FunctionStatementSeeAlso

LanguageReference

CallStatementDimStatementExitStatementNothingSetStatementSubStatement

Page 629: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetObjectFunctionSeeAlso

LanguageReference

CreateObjectFunction

Page 630: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionGetRefFunctionSeeAlso

LanguageReference

FunctionStatementSetStatementSubStatement

Page 631: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionGlobalPropertySeeAlso

LanguageReference

IgnoreCasePropertyPatternProperty

Page 632: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionGlobalPropertyAppliesTo

LanguageReference

RegExpObject

Page 633: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionHexFunctionSeeAlso

LanguageReference

OctFunction

Page 634: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

HelpContextPropertySeeAlso

LanguageReference

DescriptionPropertyHelpFilePropertyNumberPropertySourceProperty

Page 635: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

HelpContextPropertyAppliesTo

LanguageReference

ErrObject

Page 636: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

HelpFilePropertySeeAlso

LanguageReference

DescriptionPropertyHelpContextPropertyNumberPropertySourceProperty

Page 637: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

HelpFilePropertyAppliesTo

LanguageReference

ErrObject

Page 638: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionHourFunctionSeeAlso

LanguageReference

DayFunctionMinuteFunctionNowFunctionSecondFunctionTimeFunction

Page 639: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IgnoreCasePropertySeeAlso

LanguageReference

GlobalPropertyPatternProperty

Page 640: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IgnoreCasePropertyAppliesTo

LanguageReference

RegExpObject

Page 641: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionImpOperatorSeeAlso

LanguageReference

EqvOperatorLogicalOperatorsOperatorPrecedenceOperatorSummary

Page 642: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

InitializeEventSeeAlso

LanguageReference

ClassObjectClassStatementTerminateEvent

Page 643: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

InitializeEventAppliesTo

LanguageReference

ClassObject

Page 644: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

InputBoxFunctionSeeAlso

LanguageReference

MsgBoxFunction

Page 645: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionInStrFunctionSeeAlso

LanguageReference

InStrRevFunction

Page 646: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition\OperatorSeeAlso

LanguageReference

*Operator/OperatorArithmeticOperatorsOperatorPrecedenceOperatorSummary

Page 647: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsOperatorSeeAlso

LanguageReference

ComparisonOperatorsOperatorPrecedenceOperatorSummary

Page 648: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsArrayFunctionSeeAlso

LanguageReference

IsDateFunctionIsEmptyFunctionIsNullFunctionIsNumericFunctionIsObjectFunctionVarTypeFunction

Page 649: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsDateFunctionSeeAlso

LanguageReference

CDateFunctionIsArrayFunctionIsEmptyFunctionIsNullFunctionIsNumericFunctionIsObjectFunctionVarTypeFunction

Page 650: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsEmptyFunctionSeeAlso

LanguageReference

IsArrayFunctionIsDateFunctionIsNullFunctionIsNumericFunctionIsObjectFunctionVarTypeFunction

Page 651: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsNullFunctionSeeAlso

LanguageReference

IsArrayFunctionIsDateFunctionIsEmptyFunctionIsNumericFunctionIsObjectFunctionVarTypeFunction

Page 652: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsNumericFunctionSeeAlso

LanguageReference

IsArrayFunctionIsDateFunctionIsEmptyFunctionIsNullFunctionIsObjectFunctionVarTypeFunction

Page 653: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsObjectFunctionSeeAlso

LanguageReference

IsArrayFunctionIsDateFunctionIsEmptyFunctionIsNullFunctionIsNumericFunctionSetStatementVarTypeFunction

Page 654: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionJoinFunctionSeeAlso

LanguageReference

SplitFunction

Page 655: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLBoundFunctionSeeAlso

LanguageReference

DimStatementReDimStatementUBoundFunction

Page 656: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLCaseFunctionSeeAlso

LanguageReference

UCaseFunction

Page 657: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLeftFunctionSeeAlso

LanguageReference

LenFunctionMidFunctionRightFunction

Page 658: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLenFunctionSeeAlso

LanguageReference

InStrFunction

Page 659: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLengthPropertySeeAlso

LanguageReference

FirstIndexPropertyValueProperty

Page 660: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLengthPropertyAppliesTo

LanguageReference

MatchObject

Page 661: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLogFunctionSeeAlso

LanguageReference

DerivedMathFunctionsExpFunction

Page 662: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLTrim,RTrim,andTrimFunctionsSeeAlso

LanguageReference

LeftFunctionRightFunction

Page 663: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMatchObjectSeeAlso

LanguageReference

MatchesCollectionRegExpObject

Page 664: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMatchObjectProperties

LanguageReference

FirstIndexPropertyLengthPropertyValueProperty

Page 665: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMatchesCollectionSeeAlso

LanguageReference

ForEach...NextStatementMatchObjectRegExpObject

Page 666: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMatchesCollectionProperties

LanguageReference

CountPropertyItemProperty

Page 667: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMidFunctionSeeAlso

LanguageReference

LeftFunctionLenFunctionLTrim,RTrim,andTrimFunctionsRightFunction

Page 668: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMinuteFunctionSeeAlso

LanguageReference

DayFunctionHourFunctionNowFunctionSecondFunctionTimeFunction

Page 669: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MiscellaneousConstantsSeeAlso

LanguageReference

ColorConstantsComparisonConstantsDateandTimeConstantsDateFormatConstantsMsgBoxConstantsStringConstantsTristateConstantsVarTypeConstants

Page 670: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionModOperatorSeeAlso

LanguageReference

ArithmeticOperatorsOperatorPrecedenceOperatorSummary

Page 671: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMonthFunctionSeeAlso

LanguageReference

DateFunctionDayFunctionNowFunctionWeekdayFunctionYearFunction

Page 672: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MonthNameFunctionSeeAlso

LanguageReference

WeekdayNameFunction

Page 673: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMsgBoxConstantsSeeAlso

LanguageReference

ColorConstantsComparisonConstantsDateandTimeConstantsDateFormatConstantsMiscellaneousConstantsStringConstantsTristateConstantsVarTypeConstants

Page 674: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMsgBoxFunctionSeeAlso

LanguageReference

InputBoxFunction

Page 675: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition*OperatorSeeAlso

LanguageReference

\OperatorArithmeticOperatorsOperatorPrecedenceOperatorSummary

Page 676: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition-OperatorSeeAlso

LanguageReference

+OperatorArithmeticOperatorsOperatorPrecedenceOperatorSummary

Page 677: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNotOperatorSeeAlso

LanguageReference

AndOperatorLogicalOperatorsOperatorPrecedenceOperatorSummaryOrOperatorXorOperator

Page 678: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNowFunctionSeeAlso

LanguageReference

DateFunctionDayFunctionHourFunctionMinuteFunctionMonthFunctionSecondFunctionTimeFunctionWeekdayFunctionYearFunction

Page 679: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNothingSeeAlso

LanguageReference

DimStatementSetStatement

Page 680: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNumberPropertySeeAlso

LanguageReference

DescriptionPropertyHelpContextPropertyHelpFilePropertyErrObjectSourcePropertyErrorMessages

Page 681: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNumberPropertyAppliesTo

LanguageReference

ErrObject

Page 682: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionOctFunctionSeeAlso

LanguageReference

HexFunction

Page 683: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionOnErrorStatementSeeAlso

LanguageReference

ErrObjectExitStatement

Page 684: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OperatorPrecedenceSeeAlso

LanguageReference

IsOperatorOperatorSummary

Page 685: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionOrOperatorSeeAlso

LanguageReference

AndOperatorLogicalOperatorsNotOperatorOperatorPrecedenceOperatorSummaryXorOperator

Page 686: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPatternPropertySeeAlso

LanguageReference

GlobalPropertyIgnoreCaseProperty

Page 687: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPatternPropertyAppliesTo

LanguageReference

RegExpObject

Page 688: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPrivateStatementSeeAlso

LanguageReference

DimStatementPublicStatementReDimStatementSetStatement

Page 689: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertyGetStatementSeeAlso

LanguageReference

ClassStatementDimStatementExitStatementFunctionStatementPrivateStatementPropertyLetStatementPropertySetStatementPublicStatementSetStatementSubStatement

Page 690: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertyLetStatementSeeAlso

LanguageReference

ClassStatementDimStatementExitStatementFunctionStatementPrivateStatementPropertyGetStatementPropertySetStatementPublicStatementSetStatementSubStatement

Page 691: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

PropertySetStatementSeeAlso

LanguageReference

ClassStatementDimStatementExitStatementFunctionStatementPrivateStatementPropertyGetStatementPropertyLetStatementPublicStatementSetStatementSubStatement

Page 692: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPublicStatementSeeAlso

LanguageReference

DimStatementPrivateStatementReDimStatementSetStatement

Page 693: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRaiseMethodSeeAlso

LanguageReference

ClearMethodDescriptionPropertyErrObjectNumberPropertySourceProperty

Page 694: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRaiseMethodAppliesTo

LanguageReference

ErrObject

Page 695: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RandomizeStatementSeeAlso

LanguageReference

RndFunctionTimerFunction

Page 696: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReDimStatementSeeAlso

LanguageReference

DimStatementSetStatement

Page 697: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRegExpObjectSeeAlso

LanguageReference

MatchObjectMatchesCollection

Page 698: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRegExpObjectMethods

LanguageReference

ExecuteMethodReplaceMethodTestMethod

Page 699: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRegExpObjectProperties

LanguageReference

GlobalPropertyIgnoreCasePropertyPatternProperty

Page 700: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReplaceFunctionSeeAlso

LanguageReference

FilterFunction

Page 701: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReplaceMethodSeeAlso

LanguageReference

ExecuteMethodTestMethod

Page 702: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReplaceMethodAppliesTo

LanguageReference

RegExpObject

Page 703: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRightFunctionSeeAlso

LanguageReference

LeftFunctionLenFunctionMidFunction

Page 704: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRndFunctionSeeAlso

LanguageReference

RandomizeStatement

Page 705: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRoundFunctionSeeAlso

LanguageReference

Int,FixFunctions

Page 706: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineFunctionSeeAlso

LanguageReference

ScriptEngineBuildVersionFunctionScriptEngineMajorVersionFunctionScriptEngineMinorVersionFunction

Page 707: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineBuildVersionFunctionSeeAlso

LanguageReference

ScriptEngineFunctionScriptEngineMajorVersionFunctionScriptEngineMinorVersionFunction

Page 708: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineMajorVersionFunctionSeeAlso

LanguageReference

ScriptEngineFunctionScriptEngineBuildVersionFunctionScriptEngineMinorVersionFunction

Page 709: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ScriptEngineMinorVersionFunctionSeeAlso

LanguageReference

ScriptEngineFunctionScriptEngineBuildVersionFunctionScriptEngineMajorVersionFunction

Page 710: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSecondFunctionSeeAlso

LanguageReference

DayFunctionHourFunctionMinuteFunctionNowFunctionTimeFunction

Page 711: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSelectCaseStatementSeeAlso

LanguageReference

If...Then...ElseStatement

Page 712: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSetStatementSeeAlso

LanguageReference

=OperatorDimStatementGetRefFunctionReDimStatement

Page 713: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSgnFunctionSeeAlso

LanguageReference

AbsFunction

Page 714: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSinFunctionSeeAlso

LanguageReference

AtnFunctionCosFunctionDerivedMathFunctionsTanFunction

Page 715: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSourcePropertySeeAlso

LanguageReference

DescriptionPropertyErrObjectHelpContextPropertyHelpFilePropertyNumberPropertyOnErrorStatement

Page 716: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSourcePropertyAppliesTo

LanguageReference

ErrObject

Page 717: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSpaceFunctionSeeAlso

LanguageReference

StringFunction

Page 718: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSplitFunctionSeeAlso

LanguageReference

JoinFunction

Page 719: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionStringConstantsSeeAlso

LanguageReference

ColorConstantsComparisonConstantsDateandTimeConstantsDateFormatConstantsMiscellaneousConstantsMsgBoxConstantsTristateConstantsVarTypeConstants

Page 720: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionStringFunctionSeeAlso

LanguageReference

SpaceFunction

Page 721: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSubStatementSeeAlso

LanguageReference

CallStatementDimStatementExitStatementFunctionStatement

Page 722: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTanFunctionSeeAlso

LanguageReference

AtnFunctionCosFunctionDerivedMathFunctionsSinFunction

Page 723: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TerminateEventSeeAlso

LanguageReference

ClassObjectClassStatementInitializeEvent

Page 724: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TerminateEventAppliesTo

LanguageReference

ClassObject

Page 725: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTestMethodSeeAlso

LanguageReference

ExecuteMethodReplaceMethod

Page 726: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTestMethodAppliesTo

LanguageReference

RegExpObject

Page 727: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTimeFunctionSeeAlso

LanguageReference

DateFunction

Page 728: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TimerFunctionSeeAlso

LanguageReference

RandomizeStatement

Page 729: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TimeSerialFunctionSeeAlso

LanguageReference

DateSerialFunctionDateValueFunctionHourFunctionMinuteFunctionNowFunctionSecondFunctionTimeValueFunction

Page 730: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TimeValueFunctionSeeAlso

LanguageReference

DateSerialFunctionDateValueFunctionHourFunctionMinuteFunctionNowFunctionSecondFunctionTimeSerialFunction

Page 731: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TypeNameFunctionSeeAlso

LanguageReference

IsArrayFunctionIsDateFunctionIsEmptyFunctionIsNullFunctionIsNumericFunctionIsObjectFunctionVarTypeFunction

Page 732: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionUBoundFunctionSeeAlso

LanguageReference

DimStatementLBoundFunctionReDimStatement

Page 733: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionUCaseFunctionSeeAlso

LanguageReference

LCaseFunction

Page 734: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionValuePropertySeeAlso

LanguageReference

FirstIndexPropertyLengthProperty

Page 735: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionValuePropertyAppliesTo

LanguageReference

MatchObject

Page 736: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VarTypeConstantsSeeAlso

LanguageReference

ColorConstantsComparisonConstantsDateandTimeConstantsDateFormatConstantsMiscellaneousConstantsMsgBoxConstantsStringConstantsTristateConstants

Page 737: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VarTypeFunctionSeeAlso

LanguageReference

IsArrayFunctionIsDateFunctionIsEmptyFunctionIsNullFunctionIsNumericFunctionIsObjectFunctionTypeNameFunction

Page 738: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptConstantsSeeAlso

LanguageReference

FileSystemObjectConstants

Page 739: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WeekdayFunctionSeeAlso

LanguageReference

DateFunctionDayFunctionMonthFunctionNowFunctionYearFunction

Page 740: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

While...WendStatementSeeAlso

LanguageReference

Do...LoopStatement

Page 741: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionWithStatementSeeAlso

LanguageReference

SetStatement

Page 742: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionXorOperatorSeeAlso

LanguageReference

AndOperatorLogicalOperatorsNotOperatorOperatorPrecedenceOperatorSummaryOrOperator

Page 743: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionYearFunctionSeeAlso

LanguageReference

DateFunctionDayFunctionMonthFunctionNowFunctionWeekdayFunction

Page 744: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionColorConstantsSeeAlso

LanguageReference

ComparisonConstantsDateandTimeConstantsDateFormatConstantsMiscellaneousConstantsMsgBoxConstantsStringConstantsTristateConstantsVarTypeConstants

Page 745: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTristateConstantsSeeAlso

LanguageReference

ColorConstantsComparisonConstantsDateandTimeConstantsDateFormatConstantsMiscellaneousConstantsMsgBoxConstantsStringConstantsVarTypeConstants

Page 746: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ComparisonOperatorsSeeAlso

LanguageReference

=OperatorIsOperatorOperatorPrecedenceOperatorSummary

Page 747: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ExecuteGlobalStatement

LanguageReferenceVersion5

SeeAlso

Description

Executesoneormorespecifiedstatementsintheglobalnamespaceofascript.

Syntax

ExecuteGlobalstatement

Therequiredstatementargumentisastringexpressioncontainingoneormorestatementsforexecution.Includemultiplestatementsinthestatementargument,usingcolonsorembeddedlinebreakstoseparatethem.

Remarks

InVBScript,x=ycanbeinterpretedtwoways.Thefirstisasanassignmentstatement,wherethevalueofyisassignedtox.Thesecondinterpretationisasanexpressionthattestsifxandyhavethesamevalue.Iftheydo,resultisTrue;iftheyarenot,resultisFalse.TheExecuteGlobalstatementalwaysusesthefirstinterpretation,whereastheEvalmethodalwaysusesthesecond.

NoteInMicrosoft®JScript�,noconfusionexistsbetweenassignmentandcomparison,becausetheassignmentoperator(=)isdifferentfromthecomparisonoperator(==).

AllstatementsusedwithExecuteGlobalareexecutedinthescript'sglobalnamespace.Thisallowscodetobeaddedtotheprogramsothatanyprocedurecanaccessit.Forexample,aVBScriptClassstatementcanbeexecutedatruntimeandfunctionscansubsequentlycreatenewinstancesoftheclass.

Addingproceduresandclassesatruntimecanbeuseful,butalsointroducesthepossibilityofoverwritingexistingglobalvariablesandfunctionsatruntime.Becausethiscancausesignificantprogrammingproblems,careshouldbeexercisedwhenusingtheExecuteGlobalstatement.Ifyoudon�tneedaccesstoavariableorfunctionoutsideofaprocedure,usetheExecutestatementwhich

Page 748: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

willonlyaffectthenamespaceofthecallingfunction.

ThefollowingexampleillustratestheuseoftheExecuteGlobalstatement:

DimX 'DeclareXinglobalscope.X="Global" 'AssignglobalXavalue.SubProc1 'Declareprocedure.DimX 'DeclareXinlocalscope.X="Local" 'AssignlocalXavalue. 'TheExecutestatementherecreatesa 'procedurethat,wheninvoked,printsX. 'ItprinttheglobalXbecauseProc2 'inheritseverythinginglobalscope.ExecuteGlobal"SubProc2:PrintX:EndSub"PrintEval("X") 'PrintlocalX.Proc2 'InvokeProc2inGlobalscoperesulting 'in"Global"beingprinted.EndSubProc2 'Thislinecausesanerrorsince 'Proc2isunavailableoutsideProc1.Proc1 'InvokeProc1.Execute"SubProc2:PrintX:EndSub"Proc2 'ThisinvocationsucceedsbecauseProc2 'isnowavailableglobally.

ThefollowingexampleshowshowtheExecuteGlobalstatementcanberewrittensoyoudon'thavetoenclosetheentireprocedureinthequotationmarks:

S="SubProc2"&vbCrLfS=S&"PrintX"&vbCrLfS=S&"EndSub"ExecuteGlobalS

Page 749: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetLocaleFunction

LanguageReferenceVersion5

SeeAlso

Description

ReturnsthecurrentlocaleIDvalue.

Syntax

GetLocale()

Remarks

Alocaleisasetofuserpreferenceinformationrelatedtotheuser'slanguage,country/region,andculturalconventions.Thelocaledeterminessuchthingsaskeyboardlayout,alphabeticsortorder,aswellasdate,time,number,andcurrencyformats.

Thereturnvaluecanbeanyofthe32-bitvaluesshownintheLocaleIDchart:

ThefollowingexampleillustratestheuseoftheGetLocalefunction.Tousethiscode,pastetheentireexamplebetweenthe<BODY>l;tagsofastandardHTMLpage.

EnterDateinUKformat:<inputtype="text"id="UKDate"size="20"><p>Here'stheUSequivalent:<inputtype="text"id="USdate"size="20"><p><inputtype="button"value="Convert"id="button1"><p>EnterapriceinGerman:&nbsp;<inputtype="text"id="GermanNumber"size="20"><p>Here'stheUKequivalent:<inputtype="text"id="USNumber"size="20"><p><inputtype="button"value="Convert"id="button2"><p>

<scriptlanguage="vbscript">

Page 750: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

DimcurrentLocale'GetthecurrentlocalecurrentLocale=GetLocale

SubButton1_onclickDimoriginaloriginal=SetLocale("en-gb")mydate=CDate(UKDate.value)'IEalwayssetsthelocaletoUSEnglishsousethe'currentLocalevariabletosetthelocaletoUSEnglishoriginal=SetLocale(currentLocale)USDate.value=FormatDateTime(mydate,vbShortDate)EndSub

Subbutton2_onclickDimoriginaloriginal=SetLocale("de")myvalue=CCur(GermanNumber.value)original=SetLocale("en-gb")USNumber.value=FormatCurrency(myvalue)EndSub

</script>

Page 751: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®Scripting

EditionLocaleID(LCID)Chart

LanguageReferenceVersion5

SeeAlso

LocaleDescription ShortString HexValue Decimal

Value LocaleDescription ShortString HexValue Decimal

Value

Afrikaans af 0x0436 1078 Hebrew he 0x040D 1037

Albanian sq 0x041C 1052 Hindi hi 0x0439 1081

Arabic-U.A.E. ar-ae 0x3801 14337 Hungarian hu 0x040E 1038

Arabic-Bahrain ar-bh 0x3C01 15361 Icelandic is 0x040F 1039

Page 752: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Arabic-Algeria ar-dz

0x1401 5121 Indonesian in 0x0421 1057

Arabic-Egypt ar-eg 0x0C01 3073 Italian-Standard it 0x0410 1040

Arabic-Iraq ar-iq 0x0801 2049 Italian-Switzerland

it-ch 0x0810 2064

Arabic-Jordan ar-jo 0x2C01 11265 Japanese ja 0x0411 1041

Arabic-Kuwait ar-kw 0x3401 13313 Korean ko 0x0412 1042

Arabic-Lebanon ar-lb 0x3001 12289 Latvian lv 0x0426 1062

Arabic-Libya ar-ly 0x1001 4097 Lithuanian lt 0x0427 1063

Arabic-Morocco ar-ma 0x1801 6145 Macedonian mk 0x042F 1071

Arabic-Oman ar-om 0x2001 8193 Malay-Malaysia ms 0x043E 1086

Arabic-Qatar ar-qa 0x4001 16385 Maltese mt 0x043A 1082

Page 753: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Arabic-SaudiaArabia

ar-sa 0x0401 1025

Norwegian-Bokmål no 0x0414 1044

Arabic-Syria ar-sy 0x2801 10241 Polish pl 0x0415 1045

Arabic-Tunisia ar-tn 0x1C01 7169 Portuguese-Standard pt 0x0816 2070

Arabic-Yemen ar-ye 0x2401 9217 Portuguese-Brazil

pt-br 0x0416 1046

Basque eu 0x042D 1069 Raeto-Romance rm 0x0417 1047

Belarusian be 0x0423 1059 Romanian ro 0x0418 1048

Bulgarian bg 0x0402 1026 Romanian-Moldovaro-mo 0x0818 2072

Catalan ca 0x0403 1027 Russian ru 0x0419 1049

Chinese zh 0x0004 4 Russian-Moldovaru-mo 0x0819 2073

Chinese-PRC zh-cn 0x0804 2052 Serbian-Cyrillic sr 0x0C1A 3098

Page 754: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Chinese-HongKong

zh-hk

0x0C04 3076 Setsuana tn 0x0432 1074

Chinese-Singapore

zh-sg 0x1004 4100 Slovenian sl 0x0424 1060

Chinese-Taiwan zh-tw 0x0404 1028 Slovak sk 0x041B 1051

Croatian hr 0x041A 1050 Sorbian sb 0x042E 1070

Czech cs 0x0405 1029 Spanish-Standard es 0x040A 1034

Danish da 0x0406 1030 Spanish-Argentinaes-ar 0x2C0A 11274

Dutch nl 0x0413 1043 Spanish-Bolivia es-bo 0x400A 16394

Dutch-Belgium nl-be 0x0813 2067 Spanish-Chile es-

cl 0x340A 13322

English en 0x0009 9 Spanish-Columbiaes-co 0x240A 9226

English-Australia

en-au 0x0C09 3081 Spanish-CostaRica

es-cr 0x140A 5130

Page 755: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

English-Belizeen-bz 0x2809 10249

Spanish-DominicanRepublic

es-do 0x1C0A 7178

English-Canada en-ca 0x1009 4105 Spanish-Ecuador

es-ec 0x300A 12298

English-Ireland en-ie 0x1809 6153 Spanish-Guatemala

es-gt 0x100A 4106

English-Jamaica en-jm 0x2009 8201 Spanish-Honduras

es-hn 0x480A 18442

English-NewZealand

en-nz 0x1409 5129 Spanish-Mexico es-

mx 0x080A 2058

English-SouthAfrica

en-za 0x1C09 7177 Spanish-Nicaragua

es-ni 0x4C0A 19466

English-Trinidad en-tt 0x2C09 11273 Spanish-Panama es-pa 0x180A 6154

English-UnitedKingdom

en-gb 0x0809 2057 Spanish-Peru es-

pe 0x280A 10250

English-UnitedStates

en-us 0x0409 1033 Spanish-PuertoRico

es-pr 0x500A 20490

Spanish- es-

Page 756: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Estonian et 0x0425 1061 Paraguay py 0x3C0A 15370

Farsi fa 0x0429 1065Spanish-ElSalvador

es-sv 0x440A 17418

Finnish fi 0x040B 1035 Spanish-Uruguayes-uy 0x380A 14346

Faeroese fo 0x0438 1080 Spanish-Venezuelaes-ve 0x200A 8202

French-Standard fr 0x040C 1036 Sutu sx 0x0430 1072

French-Belgium fr-be 0x080C 2060 Swedish sv 0x041D 1053

French-Canada fr-ca 0x0C0C 3084 Swedish-Finland sv-fi 0x081D 2077

French-Luxembourg

fr-lu 0x140C 5132 Thai th 0x041E 1054

French-Switzerland

fr-ch 0x100C 4108 Turkish tr 0x041F 1055

Gaelic-Scotland gd 0x043C 1084 Tsonga ts 0x0431 1073

German-

Page 757: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Standard de 0x0407 1031 Ukranian uk 0x0422 1058

German-Austrian

de-at 0x0C07 3079 Urdu-Pakistan ur 0x0420 1056

German-Lichtenstein

de-li 0x1407 5127 Vietnamese vi 0x042A 1066

German-Luxembourg

de-lu 0x1007 4103 Xhosa xh 0x0434 1076

German-Switzerland

de-ch 0x0807 2055 Yiddish ji 0x043D 1085

Greek el 0x0408 1032 Zulu zu 0x0435 1077

Page 758: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SetLocaleFunction

LanguageReferenceVersion5

SeeAlso

Description

Setsthegloballocaleandreturnsthepreviouslocale.

Syntax

SetLocale(lcid)

Thelcidargumentcanbeanyvalid32-bitvalueorshortstringthatuniquelyidentifiesageographicallocale.RecognizedvaluescanbefoundintheLocaleIDchart.

Remarks

Iflcidiszero,thelocaleissettomatchthecurrentsystemsetting.

Alocaleisasetofuserpreferenceinformationrelatedtotheuser'slanguage,country/region,andculturalconventions.Thelocaledeterminessuchthingsaskeyboardlayout,alphabeticsortorder,aswellasdate,time,number,andcurrencyformats.

ThefollowingexampleillustratestheuseoftheSetLocalefunction.Tousethiscode,pastetheentireexamplebetweenthe<BODY>tagsofastandardHTMLpage.

Page 759: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

EnterDateinUKformat:<inputtype="text"id="UKDate"size="20"><p>Here'stheUSequivalent:<inputtype="text"id="USdate"size="20"><p><inputtype="button"value="Convert"id="button1"><p>EnterapriceinGerman:&nbsp;<inputtype="text"id="GermanNumber"size="20"><p>Here'stheUKequivalent:<inputtype="text"id="USNumber"size="20"><p><inputtype="button"value="Convert"id="button2"><p>

<scriptlanguage="vbscript">DimcurrentLocale'GetthecurrentlocalecurrentLocale=GetLocale

SubButton1_onclickDimoriginaloriginal=SetLocale("en-gb")mydate=CDate(UKDate.value)'IEalwayssetsthelocaletoUSEnglishsousethe'currentLocalevariabletosetthelocaletoUSEnglishoriginal=SetLocale(currentLocale)USDate.value=FormatDateTime(mydate,vbShortDate)EndSub

Subbutton2_onclickDimoriginal

Page 760: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

original=SetLocale("de")myvalue=CCur(GermanNumber.value)original=SetLocale("en-gb")USNumber.value=FormatCurrency(myvalue)EndSub

</script>

Page 761: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAddMethod(Dictionary)SeeAlso

ScriptingRun-TimeReference

AddMethod(Folders)ExistsMethodItemsMethodKeysMethodRemoveMethodRemoveAllMethod

Page 762: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAddMethod(Dictionary)AppliesTo

ScriptingRun-TimeReference

DictionaryObject

Page 763: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAddMethod(Folders)SeeAlso

ScriptingRun-TimeReference

AddMethod(Dictionary)

Page 764: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionAddMethod(Folders)AppliesTo

ScriptingRun-TimeReference

FoldersCollection

Page 765: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AtEndOfLinePropertySeeAlso

ScriptingRun-TimeReference

AtEndOfStreamPropertyColumnPropertyLineProperty

Page 766: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AtEndOfLinePropertyAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 767: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AtEndOfStreamPropertySeeAlso

ScriptingRun-TimeReference

AtEndOfLinePropertyColumnPropertyLineProperty

Page 768: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AtEndOfStreamPropertyAppliesTo

ScriptingRun-TimeReferenceVersion

TextStreamObject

Page 769: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AttributesPropertySeeAlso

ScriptingRun-TimeReference

DateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 770: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AttributesPropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 771: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AvailableSpacePropertySeeAlso

ScriptingRun-TimeReference

DriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 772: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AvailableSpacePropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 773: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

BuildPathMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveNameMethodGetExtensionNameMethodGetFileNameMethodGetParentFolderNameMethodGetTempNameMethod

Page 774: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

BuildPathMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 775: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCloseMethodSeeAlso

ScriptingRun-TimeReference

ReadMethodReadAllMethodReadLineMethodSkipMethodSkipLineMethodWriteMethodWriteLineMethodWriteBlankLinesMethod

Page 776: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCloseMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 777: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionColumnPropertySeeAlso

ScriptingRun-TimeReference

AtEndOfLinePropertyAtEndOfStreamPropertyLineProperty

Page 778: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionColumnPropertyAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 779: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CompareModePropertySeeAlso

ScriptingRun-TimeReference

CountPropertyItemPropertyKeyProperty

Page 780: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CompareModePropertyAppliesTo

ScriptingRun-TimeReference

DictionaryObject

Page 781: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCopyMethodSeeAlso

ScriptingRun-TimeReference

CopyFileMethodCopyFolderMethodDeleteMethodMoveMethodOpenAsTextStreamMethod

Page 782: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCopyMethodAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 783: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CopyFileMethodSeeAlso

ScriptingRun-TimeReference

CopyMethodCopyFolderMethodCreateTextFileMethodDeleteFileMethodMoveFileMethod

Page 784: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CopyFileMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 785: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CopyFolderMethodSeeAlso

ScriptingRun-TimeReference

CopyFileMethodCopyMethodCreateFolderMethodDeleteFolderMethodMoveFolderMethod

Page 786: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CopyFolderMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 787: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCountPropertySeeAlso

ScriptingRun-TimeReference

CompareModePropertyItemPropertyKeyProperty

Page 788: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionCountPropertyAppliesTo

ScriptingRun-TimeReference

DictionaryObjectDrivesCollectionFilesCollectionFoldersCollectionMatchesCollection

Page 789: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateFolderMethodSeeAlso

ScriptingRun-TimeReference

CopyFolderMethodDeleteFolderMethodMoveFolderMethod

Page 790: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateFolderMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 791: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateTextFileMethodSeeAlso

ScriptingRun-TimeReference

CreateFolderMethodOpenAsTextStreamMethodOpenTextFileMethod

Page 792: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

CreateTextFileMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObjectFolderObject

Page 793: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateCreatedPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 794: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateCreatedPropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 795: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateLastAccessedPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 796: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateLastAccessedPropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 797: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateLastModifiedPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 798: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DateLastModifiedPropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 799: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDeleteMethodSeeAlso

ScriptingRun-TimeReference

CopyMethodDeleteFileMethodDeleteFolderMethodMoveMethodOpenAsTextStreamMethod

Page 800: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDeleteMethodAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 801: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DeleteFileMethodSeeAlso

ScriptingRun-TimeReference

CopyFileMethodCreateTextFileMethodDeleteMethodDeleteFolderMethodMoveFileMethod

Page 802: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DeleteFileMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 803: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DeleteFolderMethodSeeAlso

ScriptingRun-TimeReference

CopyFolderMethodCreateFolderMethodDeleteMethodDeleteFileMethodMoveFolderMethod

Page 804: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DeleteFolderMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 805: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DictionaryObjectSeeAlso

ScriptingRun-TimeReference

FileSystemObjectObjectTextStreamObject

Page 806: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DictionaryObjectProperties

ScriptingRun-TimeReference

CompareModePropertyCountPropertyItemPropertyKeyProperty

Page 807: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DictionaryObjectMethods

ScriptingRun-TimeReference

AddMethod(Dictionary)ExistsMethodItemsMethodKeysMethodRemoveMethodRemoveAllMethod

Page 808: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDriveObjectSeeAlso

ScriptingRun-TimeReference

DrivesCollectionFileObjectFilesCollectionFolderObjectFoldersCollectionGetDriveMethod

Page 809: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDriveObjectProperties

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 810: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDriveObjectMethods

ScriptingRun-TimeReference

TheDriveobjecthasnomethods.

Page 811: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivePropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 812: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivePropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 813: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveExistsMethodSeeAlso

ScriptingRun-TimeReference

DriveObjectDrivesCollectionFileExistsMethodFolderExistsMethodGetDriveMethodGetDriveNameMethodIsReadyProperty

Page 814: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveExistsMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 815: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveLetterPropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 816: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveLetterPropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 817: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivesCollectionSeeAlso

ScriptingRun-TimeReference

DriveObjectDrivesPropertyFileObjectFilesCollectionFolderObjectFoldersCollection

Page 818: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivesCollectionProperties

ScriptingRun-TimeReference

CountPropertyItemProperty

Page 819: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivesCollectionMethods

ScriptingRun-TimeReference

TheDrivescollectionhasnomethods.

Page 820: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivesPropertySeeAlso

ScriptingRun-TimeReference

DrivesCollectionFilesPropertySubFoldersProperty

Page 821: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDrivesPropertyAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 822: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveTypeConstantsSeeAlso

ScriptingRun-TimeReference

ComparisonConstantsFileAttributeConstantsFileInput/OutputConstantsSpecialFolderConstantsTristateConstants

Page 823: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveTypePropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 824: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

DriveTypePropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 825: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExistsMethodSeeAlso

LanguageReference

AddMethod(Dictionary)ItemsMethodKeysMethodRemoveMethodRemoveAllMethod

Page 826: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionExistsMethodAppliesTo

LanguageReference

DictionaryObject

Page 827: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileAttributeConstantsSeeAlso

ScriptingRun-TimeReference

ComparisonConstantsDriveTypeConstantsFileInput/OutputConstantsSpecialFolderConstantsTristateConstants

Page 828: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFileInput/OutputConstantsSeeAlso

ScriptingRun-TimeReference

ComparisonConstantsDriveTypeConstantsFileAttributeConstantsSpecialFolderConstantsTristateConstants

Page 829: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileExistsMethodSeeAlso

ScriptingRun-TimeReference

DriveExistsMethodFolderExistsMethodGetFileMethodGetFileNameMethod

Page 830: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileExistsMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 831: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFileObjectSeeAlso

ScriptingRun-TimeReference

DriveObjectDrivesCollectionFilesCollectionFolderObjectFoldersCollection

Page 832: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFileObjectProperties

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertyTypeProperty

Page 833: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFileObjectMethods

ScriptingRun-TimeReference

CopyMethodDeleteMethodMoveMethodOpenAsTextStreamMethod

Page 834: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilesCollectionSeeAlso

ScriptingRun-TimeReference

DriveObjectDrivesCollectionFileObjectFolderObjectFoldersCollection

Page 835: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilesCollectionProperties

ScriptingRun-TimeReference

CountPropertyItemProperty

Page 836: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilesCollectionMethods

ScriptingRun-TimeReference

TheFilescollectionhasnomethods.

Page 837: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilesPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 838: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFilesPropertyAppliesTo

ScriptingRun-TimeReference

FolderObject

Page 839: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemObjectObjectSeeAlso

ScriptingRun-TimeReference

CreateObjectFunctionDictionaryObjectDriveObjectDrivesCollectionFileObjectFileSystemPropertyFilesCollectionFolderObjectFoldersCollectionTextStreamObject

Page 840: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemObjectObjectProperties

ScriptingRun-TimeReference

DrivesProperty

Page 841: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemObjectObjectMethods

ScriptingRun-TimeReference

BuildPathMethodCopyFileMethodCopyFolderMethodCreateFolderMethodCreateTextFileMethodDeleteFileMethodDeleteFolderMethodDriveExistsMethodFileExistsMethodFolderExistsMethodGetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethodMoveFileMethodMoveFolderMethodOpenTextFileMethod

Page 842: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemObjectConstantsSeeAlso

ScriptingRun-TimeReference

VBScriptConstants

Page 843: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemPropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemObjectObjectFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 844: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FileSystemPropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 845: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFolderObjectSeeAlso

ScriptingRun-TimeReference

DriveObjectDrivesCollectionFileObjectFilesCollectionFoldersCollection

Page 846: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFolderObjectProperties

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 847: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFolderObjectMethods

ScriptingRun-TimeReference

CopyMethodDeleteMethodMoveMethodCreateTextFileMethod

Page 848: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFoldersCollectionSeeAlso

ScriptingRun-TimeReference

DriveObjectDrivesCollectionFileObjectFilesCollectionFolderObjectSubFoldersProperty

Page 849: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFoldersCollectionProperties

ScriptingRun-TimeReference

CountPropertyItemProperty

Page 850: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionFoldersCollectionMethods

ScriptingRun-TimeReference

AddMethod

Page 851: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FolderExistsMethodSeeAlso

ScriptingRun-TimeReference

DriveExistsMethodFileExistsMethodGetFolderMethodGetParentFolderNameMethod

Page 852: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FolderExistsMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 853: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FreeSpacePropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 854: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

FreeSpacePropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 855: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetAbsolutePathNameMethodSeeAlso

ScriptingRun-TimeReference

GetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 856: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetAbsolutePathNameMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 857: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetBaseNameMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 858: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetBaseNameMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 859: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetDriveMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 860: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetDriveMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 861: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetDriveNameMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 862: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetDriveNameMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 863: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetExtensionNameMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 864: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetExtensionNameMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 865: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionGetFileMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 866: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionGetFileMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 867: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFileNameMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 868: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFileNameMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 869: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFileVersionMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 870: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFileVersionMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 871: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFolderMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetParentFolderNameMethodGetSpecialFolderMethodGetTempNameMethod

Page 872: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetFolderMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 873: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetParentFolderNameMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetSpecialFolderMethodGetTempNameMethod

Page 874: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetParentFolderNameMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 875: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetSpecialFolderMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetTempNameMethod

Page 876: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetSpecialFolderMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 877: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetTempNameMethodSeeAlso

ScriptingRun-TimeReference

GetAbsolutePathNameMethodGetBaseNameMethodGetDriveMethodGetDriveNameMethodGetExtensionNameMethodGetFileMethodGetFileNameMethodGetFileVersionMethodGetFolderMethodGetParentFolderNameMethodGetSpecialFolderMethod

Page 878: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetTempNameMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 879: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsReadyPropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 880: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionIsReadyPropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 881: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsRootFolderPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 882: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

IsRootFolderPropertyAppliesTo

ScriptingRun-TimeReference

FolderObject

Page 883: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionItemPropertySeeAlso

ScriptingRun-TimeReference

CompareModePropertyCountPropertyKeyProperty

Page 884: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionItemPropertyAppliesTo

ScriptingRun-TimeReference

DictionaryObjectDrivesCollectionFilesCollectionFoldersCollectionMatchesCollection

Page 885: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionItemsMethodSeeAlso

ScriptingRun-TimeReference

AddMethod(Dictionary)ExistsMethodKeysMethodRemoveMethodRemoveAllMethod

Page 886: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionItemsMethodAppliesTo

ScriptingRun-TimeReference

DictionaryObject

Page 887: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionKeyPropertySeeAlso

ScriptingRun-TimeReference

CompareModePropertyCountPropertyItemProperty

Page 888: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionKeyPropertyAppliesTo

ScriptingRun-TimeReference

DictionaryObject

Page 889: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®ScriptingLibrary-FileSystemObject

FileSystemObjectGlossary

ScriptingRun-TimeReference

array

Asetofsequentiallyindexedelementshavingthesametypeofdata.Eachelementofanarrayhasauniqueidentifyingindexnumber.Changesmadetooneelementofanarraydonotaffecttheotherelements.

collectionAnobjectthatcontainsasetofrelatedobjects.Anobject'spositioninthecollectioncanchangewheneverachangeoccursinthecollection;therefore,thepositionofanyspecificobjectinthecollectionmayvary.

run-timeerrorAnerrorthatoccurswhencodeisrunning.Arun-timeerrorresultswhenastatementattemptsaninvalidoperation.

stringexpressionAnyexpressionthatevaluatestoasequenceofcontiguouscharacters.Elementsofastringexpressioncanincludeafunctionthatreturnsastring,astringliteral,astringconstant,orastringvariable.

typelibraryAfileorcomponentwithinanotherfilethatcontainsstandarddescriptionsofexposedobjects,properties,andmethods.

Page 890: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionKeysMethodSeeAlso

ScriptingRun-TimeReference

AddMethod(Dictionary)ExistsMethodItemsMethodRemoveMethodRemoveAllMethod

Page 891: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionKeysMethodAppliesTo

ScriptingRun-TimeReference

DictionaryObject

Page 892: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLinePropertySeeAlso

ScriptingRun-TimeReference

AtEndOfStreamPropertyAtEndOfLinePropertyColumnProperty

Page 893: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLinePropertyAppliesTo

ScriptingRun-TimeReferenceVersion

TextStreamObject

Page 894: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMoveMethodSeeAlso

ScriptingRun-TimeReference

CopyMethodDeleteMethodMoveFileMethodMoveFolderMethodOpenAsTextStreamMethod

Page 895: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionMoveMethodAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 896: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MoveFileMethodSeeAlso

ScriptingRun-TimeReference

CopyFileMethodDeleteFileMethodGetFileMethodGetFileNameMethodMoveMethodMoveFolderMethodOpenTextFileMethod

Page 897: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MoveFileMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 898: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MoveFolderMethodSeeAlso

ScriptingRun-TimeReference

CopyFolderMethodCreateFolderMethodDeleteFolderMethodGetFolderMethodGetParentFolderNameMethodMoveMethodMoveFileMethod

Page 899: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

MoveFolderMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 900: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNamePropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 901: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionNamePropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 902: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OpenAsTextStreamMethodSeeAlso

ScriptingRun-TimeReference

CopyMethodCreateTextFileMethodDeleteMethodMoveMethodOpenTextFileMethod

Page 903: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OpenAsTextStreamMethodAppliesTo

ScriptingRun-TimeReference

FileObject

Page 904: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OpenTextFileMethodSeeAlso

ScriptingRun-TimeReference

OpenAsTextStreamMethodCreateTextFileMethod

Page 905: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OpenTextFileMethodAppliesTo

ScriptingRun-TimeReference

FileSystemObjectObject

Page 906: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ParentFolderPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 907: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ParentFolderPropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 908: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPathPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyAvailableSpacePropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyDriveLetterPropertyDriveTypePropertyFilesPropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyShortNamePropertyShortPathPropertySizePropertySubFoldersPropertyTotalSizePropertyTypePropertyVolumeNameProperty

Page 909: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionPathPropertyAppliesTo

ScriptingRun-TimeReference

DriveObjectFileObjectFolderObject

Page 910: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReadMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadAllMethodReadLineMethodSkipMethodSkipLineMethodWriteMethodWriteLineMethodWriteBlankLinesMethod

Page 911: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReadMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 912: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReadAllMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadMethodReadLineMethodSkipMethodSkipLineMethodWriteMethodWriteLineMethodWriteBlankLinesMethod

Page 913: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionReadAllMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 914: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ReadLineMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadMethodReadAllMethodSkipMethodSkipLineMethodWriteMethodWriteLineMethodWriteBlankLinesMethod

Page 915: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ReadLineMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 916: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRemoveMethodSeeAlso

ScriptingRun-TimeReference

AddMethod(Dictionary)ExistsMethodItemsMethodKeysMethodRemoveAllMethod

Page 917: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionRemoveMethodAppliesTo

ScriptingRun-TimeReference

DictionaryObject

Page 918: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RemoveAllMethodSeeAlso

ScriptingRun-TimeReference

AddMethod(Dictionary)ExistsMethodItemsMethodKeysMethodRemoveMethod

Page 919: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RemoveAllMethodAppliesTo

ScriptingRun-TimeReference

DictionaryObject

Page 920: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RootFolderPropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertySerialNumberPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 921: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

RootFolderPropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 922: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SerialNumberPropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertyShareNamePropertyTotalSizePropertyVolumeNameProperty

Page 923: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SerialNumberPropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 924: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShareNamePropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyTotalSizePropertyVolumeNameProperty

Page 925: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShareNamePropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 926: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShortNamePropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortPathPropertySizePropertySubFoldersPropertyTypeProperty

Page 927: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShortNamePropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 928: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShortPathPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertySizePropertySubFoldersPropertyTypeProperty

Page 929: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ShortPathPropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 930: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSizePropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySubFoldersPropertyTypeProperty

Page 931: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSizePropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 932: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSkipMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadMethodReadAllMethodReadLineMethodSkipLineMethodWriteMethodWriteLineMethodWriteBlankLinesMethod

Page 933: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionSkipMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 934: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SkipLineMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadMethodReadAllMethodReadLineMethodSkipMethodWriteMethodWriteLineMethodWriteBlankLinesMethod

Page 935: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SkipLineMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 936: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SpecialFolderConstantsSeeAlso

ScriptingRun-TimeReference

ComparisonConstantsDriveTypeConstantsFileAttributeConstantsFileInput/OutputConstantsTristateConstants

Page 937: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SubFoldersPropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertyTypeProperty

Page 938: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SubFoldersPropertyAppliesTo

ScriptingRun-TimeReference

FolderObject

Page 939: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TextStreamObjectSeeAlso

ScriptingRun-TimeReference

DictionaryObjectFileSystemObjectObject

Page 940: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TextStreamObjectProperties

ScriptingRun-TimeReference

AtEndOfLinePropertyAtEndOfStreamPropertyColumnPropertyLineProperty

Page 941: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TextStreamObjectMethods

ScriptingRun-TimeReference

CloseMethodReadMethodReadAllMethodReadLineMethodSkipMethodSkipLineMethodWriteMethodWriteLineMethodWriteBlankLinesMethod

Page 942: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TotalSizePropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyVolumeNameProperty

Page 943: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

TotalSizePropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 944: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTypePropertySeeAlso

ScriptingRun-TimeReference

AttributesPropertyDateCreatedPropertyDateLastAccessedPropertyDateLastModifiedPropertyDrivePropertyFilesPropertyIsRootFolderPropertyNamePropertyParentFolderPropertyPathPropertyShortNamePropertyShortPathPropertySizePropertySubFoldersProperty

Page 945: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionTypePropertyAppliesTo

ScriptingRun-TimeReference

FileObjectFolderObject

Page 946: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VolumeNamePropertySeeAlso

ScriptingRun-TimeReference

AvailableSpacePropertyDriveLetterPropertyDriveTypePropertyFileSystemPropertyFreeSpacePropertyIsReadyPropertyPathPropertyRootFolderPropertySerialNumberPropertyShareNamePropertyTotalSizeProperty

Page 947: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VolumeNamePropertyAppliesTo

ScriptingRun-TimeReference

DriveObject

Page 948: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionWriteMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadMethodReadAllMethodReadLineMethodSkipMethodSkipLineMethodWriteLineMethodWriteBlankLinesMethod

Page 949: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionWriteMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 950: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WriteBlankLinesMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadMethodReadAllMethodReadLineMethodSkipMethodSkipLineMethodWriteMethodWriteLineMethod

Page 951: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WriteBlankLinesMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 952: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WriteLineMethodSeeAlso

ScriptingRun-TimeReference

CloseMethodReadMethodReadAllMethodReadLineMethodSkipMethodSkipLineMethodWriteMethodWriteBlankLinesMethod

Page 953: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WriteLineMethodAppliesTo

ScriptingRun-TimeReference

TextStreamObject

Page 954: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

InStrRevFunctionSeeAlso

LanguageReference

InStrFunction

Page 955: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ArithmeticOperators

LanguageReferenceVersion1

^Operator*Operator/Operator\OperatorModOperator+Operator-OperatorConcatenationOperators

Page 956: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ConcatenationOperators

LanguageReferenceVersion1

&Operator+Operator

Page 957: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OperatorSummary

LanguageReferenceVersion1

SeeAlso

ArithmeticOperators

Operatorsusedtoperformmathematicalcalculations.

AssignmentOperator

Operatorusedtoassignavaluetoapropertyorvariable.

ComparisonOperators

Operatorsusedtoperformcomparisons.

ConcatenationOperators

Operatorsusedtocombinestrings.

LogicalOperators

Operatorsusedtoperformlogicaloperations.

Page 958: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLogicalOperators

LanguageReferenceVersion1

AndOperatorNotOperatorOrOperatorXorOperator

Page 959: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDerivedMathFunctions

LanguageReferenceVersion1

SeeAlso

Description

Thefollowingnonintrinsicmathfunctionscanbederivedfromtheintrinsicmathfunctions:

Function DerivedequivalentsSecant Sec(X)=1/Cos(X)Cosecant Cosec(X)=1/Sin(X)Cotangent Cotan(X)=1/Tan(X)InverseSine Arcsin(X)=Atn(X/Sqr(-X*X+1))

InverseCosine Arccos(X)=Atn(-X/Sqr(-X*X+1))+2*Atn(1)

InverseSecant Arcsec(X)=Atn(X/Sqr(X*X-1))+Sgn((X)-1)*(2*Atn(1))

InverseCosecant Arccosec(X)=Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*(2*Atn(1))

InverseCotangent Arccotan(X)=Atn(X)+2*Atn(1)HyperbolicSine HSin(X)=(Exp(X)-Exp(-X))/2HyperbolicCosine HCos(X)=(Exp(X)+Exp(-X))/2HyperbolicTangent

HTan(X)=(Exp(X)-Exp(-X))/(Exp(X)+Exp(-X))

HyperbolicSecant HSec(X)=2/(Exp(X)+Exp(-X))HyperbolicCosecant HCosec(X)=2/(Exp(X)-Exp(-X))

Hyperbolic HCotan(X)=(Exp(X)+Exp(-X))/(Exp(X)

Page 960: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Cotangent -Exp(-X))InverseHyperbolicSine HArcsin(X)=Log(X+Sqr(X*X+1))

InverseHyperbolicCosine HArccos(X)=Log(X+Sqr(X*X-1))

InverseHyperbolicTangent HArctan(X)=Log((1+X)/(1-X))/2

InverseHyperbolicSecant

HArcsec(X)=Log((Sqr(-X*X+1)+1)/X)

InverseHyperbolicCosecant

HArccosec(X)=Log((Sgn(X)*Sqr(X*X+1)+1)/X)

InverseHyperbolicCotangent HArccotan(X)=Log((X+1)/(X-1))/2

LogarithmtobaseN LogN(X)=Log(X)/Log(N)

Page 961: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

VBScriptErrorMessages

LanguageReference

ErrorCode Message

5 Invalidprocedurecallorargument6 Overflow7 Outofmemory9 Subscriptoutofrange10 Arrayfixedortemporarilylocked11 Divisionbyzero13 Typemismatch14 Outofstringspace28 Outofstackspace35 SuborFunctionnotdefined48 ErrorinloadingDLL51 Internalerror53 Filenotfound57 DeviceI/Oerror58 Filealreadyexists61 Diskfull67 Toomanyfiles70 Permissiondenied75 Path/Fileaccesserror76 Pathnotfound91 ObjectvariableorWithblockvariablenotset

Page 962: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

92 Forloopnotinitialized94 InvaliduseofNull322 Can'tcreatenecessarytemporaryfile424 Objectrequired429 ActiveXcomponentcan'tcreateobject430 Classdoesn'tsupportAutomation

432 FilenameorclassnamenotfoundduringAutomationoperation

438 Objectdoesn'tsupportthispropertyormethod440 Automationerror445 Objectdoesn'tsupportthisaction446 Objectdoesn'tsupportnamedarguments447 Objectdoesn'tsupportcurrentlocalesetting448 Namedargumentnotfound449 Argumentnotoptional

450 Wrongnumberofargumentsorinvalidpropertyassignment

451 Objectnotacollection453 SpecifiedDLLfunctionnotfound455 Coderesourcelockerror

457 Thiskeyalreadyassociatedwithanelementofthiscollection

458 VariableusesanAutomationtypenotsupportedinVBScript

500 Variableisundefined501 Illegalassignment502 Objectnotsafeforscripting503 Objectnotsafeforinitializing1001 Outofmemory1002 Syntaxerror1003 Expected':'

Page 963: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

1004 Expected';'

1005 Expected'('1006 Expected')'1007 Expected']'1008 Expected'{'1009 Expected'}'1010 Expectedidentifier1011 Expected'='1012 Expected'If'1013 Expected'To'1014 Expected'End'1015 Expected'Function'1016 Expected'Sub'1017 Expected'Then'1018 Expected'Wend'1019 Expected'Loop'1020 Expected'Next'1021 Expected'Case'1022 Expected'Select'1023 Expectedexpression1024 Expectedstatement1025 Expectedendofstatement1026 Expectedintegerconstant1027 Expected'While'or'Until'1028 Expected'While','Until',orendofstatement1029 Toomanylocalsorarguments1030 Identifiertoolong1031 Invalidnumber1032 Invalidcharacter

Page 964: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

1033 Unterminatedstringconstant1034 Unterminatedcomment

1035 Nestedcomment1037 Invaliduseof'Me'keyword1038 'Loop'without'Do'1039 Invalid'Exit'statement1040 Invalid'For'loopcontrolvariable1041 Nameredefined1042 Mustbefirststatementontheline1043 Can'tassigntonon-ByValargument1044 Can'tuseparenswhencallingaSub1045 Expectedliteralconstant1046 Expected'In'32766 True32767 False32811 Elementnotfound

Page 965: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WeekdayNameFunction

LanguageReferenceVersion2

SeeAlso

Description

Returnsastringindicatingthespecifieddayoftheweek.

Syntax

WeekdayName(weekday,abbreviate,firstdayofweek)

TheWeekdayNamefunctionsyntaxhastheseparts:

Part Description

weekdayRequired.Thenumericdesignationforthedayoftheweek.Numericvalueofeachdaydependsonsettingofthefirstdayofweeksetting.

abbreviate

Optional.Booleanvaluethatindicatesiftheweekdaynameistobeabbreviated.Ifomitted,thedefaultisFalse,whichmeansthattheweekdaynameisnotabbreviated.

firstdayofweek Optional.Numericvalueindicatingthefirstdayoftheweek.SeeSettingssectionforvalues.

Settings

Thefirstdayofweekargumentcanhavethefollowingvalues:

Constant Value Description

vbUseSystem 0 UseNationalLanguageSupport(NLS)APIsetting.

vbSunday 1 Sunday(default)

Page 966: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

vbMonday 2 MondayvbTuesday 3 TuesdayvbWednesday 4 WednesdayvbThursday 5 ThursdayvbFriday 6 FridayvbSaturday 7 Saturday

Remarks

ThefollowingexampleusestheWeekDayNamefunctiontoreturnthespecifiedday:

DimMyDateMyDate=WeekDayName(6,True)'MyDatecontainsFri.

Page 967: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

ExecuteGlobalStatementSeeAlso

LanguageReference

EvalFunctionExecuteStatement

Page 968: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

GetLocaleFunctionSeeAlso

LanguageReference

SetLocaleFunctionLocaleID(LCID)Chart

Page 969: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionLocaleID(LCID)ChartSeeAlso

LanguageReference

GetLocaleFunctionSetLocaleFunction

Page 970: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

SetLocaleFunctionSeeAlso

LanguageReference

GetLocaleFunctionLocaleID(LCID)Chart

Page 971: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

OperatorSummarySeeAlso

LanguageReference

OperatorPrecedence

Page 972: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

AssignmentOperator

LanguageReferenceVersion1

=Operator

Page 973: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEditionDerivedMathFunctionsSeeAlso

LanguageReference

AtnFunctionCosFunctionExpFunctionLogFunctionSinFunctionSqrFunctionTanFunction

Page 974: Visual Basic Scripting - documentation.help · Microsoft® Visual Basic® Scripting Edition Looping Through Code VBScript Tutorial Previous Next Using Loops to Repeat Code Looping

Microsoft®VisualBasic®ScriptingEdition

WeekdayNameFunctionSeeAlso

LanguageReference

MonthNameFunction