问:
嗨,ScriptingGuy!IhaveascriptwhereusersentersomeinformationinanInputbox.Theinformationneedstobeenteredinall-capitalletters,somyinstructionssay,“PleasemakesuretheCapsLockkeyisonbeforeenteringtheinformation.”Theydon'talwaysdothat,however.IsthereawaytoturntheCapsLockkeyonandoffusingascript?
--BW,Medford,OR
答:
Hey,BW.Wedon'tknowofawaytoturntheCapsLockkeyonandoff,butwedoknowawaytomimictheeffectofhavingtheCapsLockkeyon.Afterall,thewholepointoftheCapsLockkeyistoturneverythingyoutypeintouppercaseletters.Forexample,youmighttypethis:
thisismysentence.
ButCapsLockwillmakeitappearonscreenlikethis:
THISISMYSENTENCE.
Sohowcanweachievethesameaffectinascript?简单:wejustusetheVBScriptfunctionUCase,whichswitchesallthelettersinastringtotheiruppercaseequivalent.Forexample,here'sasimpletwo-linescriptthatgathersinformationfromauserandthenusestheUCasefunctiontoswitchalltheletterstouppercasewhenechoingthevaluetothescreen:
strMessage=InputBox("Pleaseenteryourmessage:")Wscript.EchoUCase(strMessage)
Incidentally,theabovescriptdoesn'tactuallychangethecaseofthelettersinthestringstrMessage;itjustdisplaystheminuppercase.Ifyoureallywantallthelettersconvertedtouppercase,trythisscriptinstead:
strMessage=UCase(InputBox("Pleaseenteryourmessage:"))Wscript.EchostrMessage
Lookscrazy,butitworks.
FormoreinformationabouttheUCasefunction,seetheVBScript文档onMSDN.