VBScript
LET OP! Dit is GEEN professionele handleiding. Ik heb hier alleen staan wat ik ken en weet.
Dus je wilt een VBScript maken of leren hoe je er een maakt? Nou dat kan hier!
Wat IS een VBScript?
Een VBScript is een scripttaal waarin je allerlei handige programmaatjes kan maken die je leven gemakkelijker maken of waar je gewoon geintjes mee kan uithalen met neppe Errors.
Ik heb hier GEEN scripts staan die schadelijk kunnen zijn voor je computer!Werk in Uitvoering! Alles wat zwart is moet nog aangepast worden!
Maak een simpele msgbox (Voor beginnelingen; gevorderde gebruikers moeten verder naar onder gaan)
- Open eerst Kladblok
- Daarna zet je deze code (script) in de Kladblok:
msgbox "Dit is een tekst",0,"Tekst"
Als je dat gedaan hebt dan moet je opslaan. Maar dit moet je wel op een andere manier doen!
- Ga naar "Bestand" en druk op "Opslaan als..."
- Klik op "Opslaan als type", daarna selecteer je "Alle bestanden" (want anders werkt het niet),
- Schrijf een eigen naam maar er moet wel ".vbs" achter staan!
- Sla het op en test het. Werkt het niet? Check dan of je niks vergeten hebt.
Nu heb je een VBScript geschreven!
Als de msgbox die je maakt een letter/cijfer voor "msgbox" hebt staan dan moet je haakjes gebruiken.
msgbox "Dit is zonder haakjes",32,"Test"
A = msgbox ("Dit is met haakjes",32+vbSystemModal,"Test")
Met dit kan je bepalen of je persé hoofdletters of kleine letters moet gebruiken of beide
If Inp01 = "a" then Met dit kan je alléén de kleine letter "a" gebruiken om verder te kunnen in de Inputbox.
If Inp01 = "A" then Met dit kan je alléén de hoofdletter "A" gebruiken.
If LCase(Inp01) = "a" then Met één van deze codes kan je bepalen of je kleine letters en hoofdletters kan gebruiken.
If UCase(Inp01) = "A" then
Uitleg van codes
If Inp01 = "a" then
If Inp01 = "A" then
If LCase(Trim(Inp01)) = "a" then OF If LCase(Inp01) = "a" then
If UCase(Trim(Inp01)) = "A" then OF If UCase(Inp01) = "A" then
LCase = Input verandert in kleine letters ("Woord" / "WOORD" verandert in "woord") (Werkt niet met cijfers)
UCase = Input verandert in hoofdletters ("Woord" / "woord" verandert dan in "WOORD") (Werkt niet met cijfers)
Trim = Als er spaties in de Input zit dan wordt het automatisch verwijderd (Dit is niet echt nodig)
Inp01 = Naam van Inputbox
MET "If strResponse = Cancel Then WScript.Quit" SLUIT IE AF ALS JE OP CANCEL DRUKT
Do
boolLoopAgain = False
strResponse = Inputbox("Wat is de Code?","Code","Typ hier in")
If strResponse = Cancel Then WScript.Quit
If UCase(Trim(strResponse)) = "KEVIN" Then
msgbox "Correct. Je krijgt nu toegang",64,"Informatie"
Else
msgbox "Niet correct!" & chr(13) & "Voer juiste Code in",16,"Foutmelding"
boolLoopAgain = True
End if
Loop while boolLoopAgain
...
ZONDER "If strResponse = Cancel Then WScript.Quit" SLUIT IE NIET AF EN GAAT IN PLAATS DAARVAN NAAR DE EERSTE OPDRACHT
Do
boolLoopAgain = False
strResponse = Inputbox("Wat is de Code?","Code","Typ hier in")
If UCase(Trim(strResponse)) = "KEVIN" Then
msgbox "Correct. Je krijgt nu toegang",64,"Informatie"
Else
msgbox "Niet correct!" & chr(13) & "Voer juiste Code in",16,"Foutmelding"
boolLoopAgain = True
End if
Loop while boolLoopAgain
Een tekst een regel naar onderen verplaatsen:
msgbox "Hoe verplaats je een Tekst een Regel naar onderen?",32,"Vraag"
msgbox "Zo doe je dat!" & chr(13) & "Heel makkelijk.",32,"Vraag"
Waar is dit voor? Als je een msgbox hebt gemaakt met een hoop tekst dan wil je soms dat sommige tekst een regel naar beneden gaat. Hoe doe je dit? Als je de tekst maar op één regel wilt hebben dan moet je "Deze tekst blijft op één regel" gebruiken (de tekst zelf kan je aanpassen). Als je meerdere regels wilt gebruiken in een tekst dan moet je "Deze tekst is" & chr(13) & "één regel verplaatst" gebruiken (hier kan je de tekst zelf ook aanpassen). Het gaat vooral om deze code: "& chr(13) &". Die code scheidt de regels van elkaar.
Inp01 = Inputbox ("Wat is uw naam?",,"Naam")
If Inp01 = "Kevin" then
Msgbox "Welkom Kevin",64,""
Call GoTo01
Else
Msgbox "Uw naam is geen Kevin",48,"Error"
WScript.Quit
End if
Sub GoTo01()
Inp02 = msgbox ("Open Paint?",vbYesNo+32,"Vraag")
If Inp02 = vbYes then
strProgramPath = "C:\Windows\system32\mspaint.exe"
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
End if
If Inp02 = vbNo then
WScript.Quit
End if
End Sub
...
Call/Sub gebruiken (Opdrachten overslaan zodat het doet wat je wil)
Call Inp01
Sub Inp01()
' Execute Program or something Else...
End Sub
ALTIJD TOEVOEGEN ONDERIN OM CALL/SUB UIT TE VOEREN!
...
a=inputbox("Wat is jouw naam?")
b=inputbox("Wat is het Wachtwoord?")
msgbox "Jouw naam is "+a & chr(13) & "Het wachtwoord volgens jou is " +b & chr(13) & "Klopt dit?",4,"Vraag"
...
a = inputbox ("Wat is jouw Naam?")
b = inputbox ("Wat is het Wachtwoord")
msgbox "Jouw naam is "+a & chr(13) & "Het Wachtwoord is " +b & chr(13) & "Is dit correct?"
If a = "Kevin" and b = "83" then
Je kan ook gewoon een normale Commando invoeren bij "if x =":
Voeg normale Commando toe (OK, Cancel, Abort, Retry, Ignore)
x = InputBox ("Voer je tekst in")
If x = Cancel Then Wscript.Quit
Do
boolLoopAgain = False
lngLoopCount = lngLoopCount + 1
Inp01 = inputbox ("Hoe wil je je Programma's Openen?" & chr(13) & "Één voor één?" & chr(13) & "of Alles tegelijk?" ,"Vraag","Opdracht invoeren")
If Inp01 = "alles tegelijk" then
msgbox "Nog niet mogelijk op dit moment" & chr(13) & "Wordt later toegepast",48,"Error"
boolLoopAgain = True
End if
Loop While boolLoopAgain
...
Do
boolLoopAgain = False
Inp01 = inputbox ("Wat wil je zoeken?" & chr(13) & "Paint?" & chr(13) & "Calculator?" ,"Vraag","Opdracht invoeren")
If Inp01 = "alles tegelijk" then
msgbox "Nog niet mogelijk op dit moment" & chr(13) & "Wordt later toegepast",48,"Error"
boolLoopAgain = True
End if
If Inp01 = "Een voor een" then
msgbox "Haha, gefopt! Bestaat nog niet!",64,"TEST"
Loop While boolLoopAgain
...
Meerdere opdrachten laten Loopen
(Als je 3 of meer wilt laten Loopen Kopieer en plak de Tekst dubbel)
Do
boolLoopAgain = False
Inp01 = inputbox ("Hoe wil je je Programma's Openen?" & chr(13) & "Één voor één?" & chr(13) & "of Alles tegelijk?" & chr(13) & "NIEUW! Kies Programma!","Program Opener","Opdracht invoeren")
' Voeg wat hieronder staat ertussenin
If Inp01 = "kies programma" then
msgbox "Nog niet mogelijk op dit moment" & chr(13) & "Wordt later toegepast",48,"Error"
boolLoopAgain = True
End if
' Voeg wat hierboven staat ertussenin
If Inp01 = "alles tegelijk" then
msgbox "Nog niet mogelijk op dit moment" & chr(13) & "Wordt later toegepast",48,"Error"
boolLoopAgain = True
End if
Loop While boolLoopAgain
If Inp01 = ? then
Maak een simpel wachtwoordsysteem voor een map zodat er geen mensen er zomaar bij kunnen komen
- Maak een map (Op de plek waar je het Wachtwoordsysteem gaat aanbrengen)
- Schrijf ergens de locatie op van de map (Gebruik dit voor later!)
- Ga naar die map toe die je net hebt aangemaakt
- Maak een VBScript met een wachtwoord zoals dit (Kies voor Zonder of Met Loop):
(ZONDER LOOP)
Inp01 = inputbox ("Wachtwoord invoeren om toegang te krijgen","Log In","××××××××××")
If Inp01 = Cancel then Wscript.Quit
If Inp01 = "[WACHTWOORD CODE HIER]" then
msgbox "Toegang Verleend",64+0,"Bericht"
strProgramPath = ("C:\[VOEG LOCATIE VAN MAP HIER IN]")
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
End if
Else
msgbox "Toegang Geweigerd",48+0,"Error"
End if
(MET LOOP)
Do
boolLoopAgain = False
Inp01 = inputbox ("Wachtwoord invoeren om toegang te krijgen","Log In","××××××××××")
If Inp01 = Cancel then Wscript.Quit
boolLoopAgain = False
If Inp01 = "[WACHTWOORD CODE HIER]" then
msgbox "Toegang Verleend",64+0,"Bericht"
strProgramPath = ("C:\[VOEG LOCATIE VAN MAP HIER IN]")
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
boolLoopAgain = False
Else
msgbox "Toegang Geweigerd",16+0,"Error"
boolLoopAgain = True
End if
Loop while boolLoopAgain
- Sla het op in die map
- Maak een snelkoppeling in de map waar je de originele map hebt gemaakt
- Selecteer de VBScript met het Wachtwoordsysteem
- Klik op OK
- Verander pictogram van snelkoppeling
- Ga naar map Eigenschappen
- Klik op de knop "Verborgen", klik dan op de knop Toepassen en OK
- Dubbelklik op snelkoppeling en dan zou het moeten werken...
- Om de map weer zichtbaar te maken open de map, ga naar Eigenschappen en klik op Verborgen.
- Dan op OK en dan is het weer zichtbaar voor anderen.
Een simpele script maken die een programma opent
- Zoek eerst het programma op die je wilt openen met een Script,
- Daarna doe je rechtsklikken op de .exe (Een .exe is het programma!) en gaat naar Eigenschappen,
- Zoek het "doel" op en kopiëer deze tekst die er staat,
- Daarna maak je deze script:
strProgramPath = " "
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
- Kopiëer en plak de tekst die je eerder had gekopiëerd tussen de twee " ",
- Sla het op. Test het wel eerst uit!
Een programma/map openen met VBScript die op een USB-Stick/externe harde schijf staat
Simpel! Voeg dit toe in een script:
(C:\ = Harde schijf)
strProgramPath = """H:\.vbs Programmeren.txt"""
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
End if
of
strProgramPath = """I:\Portal 2\"""
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
om een bestand of map te openen die op de desbetreffende USB-Stick staat.
Grappige en echte Error berichten die je kan gebruiken!
msgbox "Please insert the correct CD-ROM, select OK and restart application",16,"Cannot locate the CD-ROM"
msgbox "Bitmaps moeten groter zijn dan 1 x 1 pixel.",48,"Paint"
msgbox "Weet u zeker dat u dit bestand definitief wilt verwijderen?" & chr(13) & "''[NAAM VAN BESTAND]''",48+vbSystemModal,"Bestand verwijderen"
msgbox " '[BESTANDSNAAM]' is momenteel niet beschikbaar.",16+vbSystemModal,"Adresbalk"
msgbox "Dit exemplaar van Windows moet bij Microsoft worden geactiveerd voordat u zich kunt aanmelden." & chr(13) & "Wilt u Windows nu activeren?",4+16,"Windows-productactivering"
msgbox "Error: no keyboard detected. Press F8 to continue",16,"Error"
msgbox "Failed to initialize Direct3D" & chr(13) & "Please ensure DirectX 8.1 or newer is installed, and video drivers are up to date.",48+vbSystemModal,"ERROR"
msgbox "Invalid pointer operation.",16+vbSystemModal,"Mp4player"
vbScript Errors
Syntaxisfout = Onbekende code (Dit moet je dus zodanig bijwerken totdat de Syntaxisfout weg is.)
Wat is een Syntaxisfout? Je hebt waarschijnlijk in je code een letter verkeerd getypt / vergeten of iets anders gedaan. Pas het aan en test het opnieuw totdat de fout weg is.
vbYes
vbNo
vbCancel
vbRetry
vbIgnore
vbAbort
Je kan ze zo combineren met elkaar zoals dit: "vbYesNo"
Vertraging tussen commando's:
WScript.Sleep 100 = 0.1 seconde
WScript.Sleep 200 = 0.2 seconde
WScript.Sleep 300 = 0.3 seconde
WScript.Sleep 400 = 0.4 seconde
WScript.Sleep 500 = 0.5 seconde
...
WScript.Sleep 1000 = 1 Seconde
WScript.Sleep 2000 = 2 Secondes
WScript.Sleep 3000 = 3 Secondes
WScript.Sleep 4000 = 4 Secondes
WScript.Sleep 5000 = 5 Secondes
...
WScript.Sleep 10000 = 10 Secondes
WScript.Sleep 11000 = 11 Secondes
WScript.Sleep 12000 = 12 Secondes
WScript.Sleep 13000 = 13 Secondes
WScript.Sleep 14000 = 14 Secondes
...
WScript.Sleep WScript.Sleep 1000 * 60 * 3 = 3 Minuten
Script maken die automatisch schrijft
(Ik maak hier zelf geen gebruik van omdat 1. het is eigenlijk best wel lui en 2. Zometeen open je het script en dan gebeuren er vreemde dingen op je computer dat je niet wilt hebben!)
- Maak eerst deze code voordat je verdergaat:
Set WshShell = WScript.CreateObject ("WScript.Shell")
wshShell.Run ("notepad.exe")
WScript.Sleep 600
- Dit start Kladblok op. (Dit is niet echt nodig maar als je het wil testen dan is dit een aanrader)
- Maak dan deze code:
set WshShell=CreateObject("WScript.Shell")
WshShell.Sendkeys "H"
WScript.Sleep 70
- Deze code zorgt er voor dat als je deze scipt opent eerst Kladlok wordt geopend (optioneel) en dan wordt de letter "H" getypt in Kladblok of ergens anders.
- Als je meerdere letters wilt gebruiken in plaats van maar één letter gebruik dan dit:
set WshShell=CreateObject("WScript.Shell")
WshShell.Sendkeys "H"
WScript.Sleep 70
WshShell.Sendkeys "O"
WScript.Sleep 70
WshShell.Sendkeys "I"
WScript.Sleep 70
- Dit schrijft de tekst "HOI" in korte pauzes. Het getal "70" kan je zo aanpassen dat het nog sneller of langzamer werkt. 1000 is 1 seconde. Lees de lijst "Vertraging tussen commando's" hierboven om wat voorbeelden te zien.
- De meeste mensen gebruiken dit om iets te schrijven:
set WshShell=CreateObject("WScript.Shell")
WshShell.Sendkeys "H"
WScript.Sleep 70
set WshShell=CreateObject("WScript.Shell")
WshShell.Sendkeys "O"
WScript.Sleep 70
set WshShell=CreateObject("WScript.Shell")
WshShell.Sendkeys "I"
WScript.Sleep 70
- Dit kan je wel gebruiken maar de code "set WshShell=CreateObject("WScript.Shell")" hoef je maar eenmalig te gebruiken. In het begin is deze code wel nodig natuurlijk want anders werkt het niet.
- Het is ook mogelijk om complete teksten in één klap te schrijven met deze code:
set WshShell=CreateObject("WScript.Shell")
WshShell.Sendkeys "Games"
WScript.Sleep 70
WshShell.Sendkeys "en"
WScript.Sleep 70
WshShell.Sendkeys "Meer"
WScript.Sleep 70
- Verander de teksten "Games" "en" & "Meer" in een zin die je wilt schrijven.
Code verschillen van namen met en zonder spaties:
strProgramPath = ("C:\Users\Gebruiker\Desktop\Dezeheeftgeenspaties")
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
strProgramPath = ("""C:\Users\Gebruiker\Desktop\Deze heeft wel spaties""")
set objShell = createobject("Wscript.Shell")
objShell.Run strProgramPath
Waar is dit voor? Als er een pad is die eindigt op een bestand met een naam zonder spaties erin zoals bijvoorbeeld "TeDoenLijst" dan moet je de eerste code hierboven gebruiken. Als het bestand een naam heeft met spaties zoals bijvoorbeeld "Te Doen Lijst" dan moet je de tweede code hierboven gebruiken. Doe je dit niet dan krijg je een syntaxisfout.
Inp01 = Inputbox ("Wat is uw naam?",,"Naam")
If Inp01 = "Harry" then
Msgbox "Welkom Harry"
Else
Msgbox "Uw naam is niet Harry"
End if
Belangrijke informatie over knoppen/iconen
Met deze codes kan je dingen bepalen van hoe je je venster wilt hebben. Dit kan op 2 manieren, met cijfers of met letters. Dit kan ook samen gebruikt worden.
Met cijfers
0 - OK knop alleen
1 - OK & Annuleren knoppen
2 - Afbreken, Opnieuw & Negeren knoppen
3 - Ja, Nee & Annuleren knoppen
4 - Ja & Nee knoppen
5 - Opnieuw & Annuleren knoppen
16 - Kritieke bericht icoon (Cirkel met een "×")
32 - Vraagteken icoon (Cirkel met een "?")
48 - Waarschuwing icoon (Driehoek met een "!")
64 - Informatie icoon (Cirkel met een "i")
0 - Eerste knop is Default
256 - Tweede knop is Default
512 - Derde knop is Default
768 - Vierde knop is Default
4096 - Systeem Modal (Zet dit bericht vóór alles wat op het Bureaublad te zien is.
Dus als je op iets anders drukt dat dit scherm blijft staan)
Met letters
vbOKOnly - OK knop alleen
vbOKCancel - OK & Annuleren knoppen
vbAbortRetryIgnore - Afbreken, Opnieuw & Negeren knoppen
vbYesNoCancel - Ja, Nee & Annuleren knoppen
vbYesNo - Ja & Nee knoppen
vbRetryCancel - Opnieuw & Annuleren knoppen
vbCritical - Kritieke bericht icoon (Cirkel met een "×")
vbQuestion - Vraagteken icoon (Cirkel met een "?")
vbExclamation - Waarschuwing icoon (Driehoek met een "!")
vbInformation - Informatie icoon (Cirkel met een "i")
vbDefaultButton1 - Eerste knop is Default
vbDefaultButton2 - Tweede knop is Default
vbDefaultButton3 - Derde knop is Default
vbDefaultButton4 - Vierde knop is Default
vbSystemModal - Systeem Modal (Zet dit bericht vóór alles wat op het Bureaublad te zien is.
Dus als je op iets anders drukt dat dit scherm blijft staan)
Overige codes die verwijderd worden/verwerkt gaan worden in deze pagina
msgbox("TEXT HERE", vbRetryCancel + vbCritical, "TEXT HERE") save as .vbs you should get the big red cross and retry cancel buttons.
vbCritical: Big Red Cross
vbInformation: 'i' Sign
vbExclamation: Exclamation Mark
vbQuestion: Question Mark. You can combine those with these using a + sign:
vbOKOnly: Ok Button
vbYesNo: Yes & No Button
vbRetrycancel: Retry & Cancel Buttons
vbAbortRetryIgnore: Abort, Retry & Ignore Buttons
vbSystemModal: System Modal. On Microsoft Win16 systems, all applications are suspended until the user responds to the message box. On Microsoft Win32 systems, this constant provides an application modal message box that always remains on top of any other programs that you have running
For knowing what numbers to use with the buttons
1 = OK 2 = Cancel 3 = Abort 4 = Retry 5 = Ignore 6 = Yes 7 = No
Code:
Dim box, yes, no
box = MsgBox("press a button and i will tell you what it is",4,"miutubevids")
If box =6 Then
yes = MsgBox("you pressed yes because in the script it says 6 and if you look in the description it says 6 = yes",48,"miutubevids")
End if
If box =7 Then
no = msgbox("you pressed no because in the script it says 7 and if you look in the description it says 7 = no",48,"miutubevids")
End If

