Picture of VBS Tutorial - Basics
sys32 fol.jpg
Ok so some people have been asking me where did i learn my vbs from .. i learned from various websites, like the w3schools , even know that is for web scripting you can still use it from plain vbs.

I learn it from websites you'll learn it from me =D

So lets get started ...

What is vbs?
VBScript is a Microsoft scripting language. -_- so being Microsoft they go and make it so it only works on IE. But as well as being a web script it is used for all kinds of things ...
for example on pic 2) (that's the second pic) That is take from the System 32 folder. Vbs can also be used to make programs .. but that's VB.NET .. uses most of the same coding though.

Please enjoy the tutorial .. and please comment and rate.
And please tell me if someone has beet me to making a vbs tutorial .. but i couldn't find one.
Other than cammel8 who seems to be really good with vbs scripting =P .. but i'm still gonna make the tutorial.

Step 1: Basics of vbs

Picture of Basics of vbs
hello 2.jpg
Ok so here are the basics .. stuff you should already know ...

You save the files as: something.vbs
It's not like a batch file it doesn't have a screen telling you information.
In a way it's much like javascript. But at the same time it's nothing like it.

to make a var you use dim
e.g .. dim iRule
now you would have a variable call iRule

now you can start to add things to you vars .. like:
this would make a message box pop up saying hello. (pic 1)

Along with that you can add different buttons to the message box ..
here is all about message boxes: HERE
so many tutorials on them that i won't even bother to go into them.

Also with vars you can dim vars in an array:
dim iRule(3)
but that would turn out like this: (because 0 is included)


Using vars in the script..

You can use vars easily ..
you could have: (pic 2)

dim iRule
dim instructables


instructables=msgbox("hello " & iRule)

Because of the & it says 'hello instructables' becuse the value of iRule is instructables.


You can also have subs:
A sub is a procedure that does NOT give a return value.

Sub iRule(arg1,arg2,arg3)
End Sub

The arg 1,2,3 are the Arguments.

That about all of the basics .. enjoy them .. or keep reading for not so basics..
PaulusG119 days ago

About 6 years after the original post. Have just read this tutorial. Thumbs up to the original poster (aka IRule). The world needs more people like this - that show how to start making things happen and easy to follow (like in this tutorial). I didn't know any vbs scripting at all before. This tutorial is starting me off, and I think it is great.

VictorS102 months ago

I have made a program, it writes the basic HTML code for you in notepad all you have to do is edit.

Want to download the vbs file?

Visit: http://htmlbuddy.blogspot.com/

Mindrus10 months ago

Hey dude! I have made a password protect VBS. When you enter the correct password into the inputbox I want it to open a .bat file which is located in the same folder as the VBS. But I can never find the right way to open the .bat via vbs. Here is the current code:

Option Explicit

Dim returnvalue, pass, Shell


returnvalue=inputbox("Enter password")

If returnvalue=pass then

msgbox("Password correct!")

set Call=createobject("wscript.shell")

Call.run "Hack Client.bat"

set Call=Nothing



msgbox("Password incorrect!")


End If

Plz help me. Thanks!

VictorS10 Mindrus2 months ago

First where is the folder located?

To find this out right click go to properties and click general.

Reply to me then I can help fix this error.

bayuforest5 months ago

I have this script:

Set WshShell = CreateObject("WScript.Shell")
dim a
a = "C:\Program Files (x86)\MyProgram\MyApplication.jar"
WshShell.Run "javaw -jar " & a

but when i execute, i got error message:

"Error: Unable to access jarfile: C:\Program"

Please help. How to fix this?


Two errors found while I looked through your code.

First Error "a="

Second Error "C:\Program Files (x86)\MyProgram\MyApplication.jar"

How to fix:

First of all instead of "a=" type wshshell.run

Second type """C:\Program Files (x86)\MyProgram\MyApplication.jar""" where

"C:\Program Files (x86)\MyProgram\MyApplication.jar" is.

I did not understand the

WshShell.Run "javaw -jar " & a

So I hope this helps.


Try to do it with escape characters, because you have spaces in the file path. So the code would be:

a = """C:\Program Files (x86)\MyProgram\MyApplication.jar"""

(yes with three " before and after the path)

Cheers and have fun coding.

NicholasV18 months ago

Can you tell me how to make the red X work please? I am just trying to close my message box

vvaradi8 months ago
visual basic 10.
yaminip1 year ago

I was searching for this a very long time.. Thanks U saved my time

Does the case look for the actual variable, and not the value?

Cobalt594 years ago
How would I end this code?

a=InputBox("Do you like Cheesecake?:","Var")
if var=yes then
msgbox ("YAY! I like cheesecake too!")
if var=no then
msgbox ("Aww..... You suck. Cheesecake is the best!")

It's probably something obvious.
iRule (author)  Cobalt594 years ago
i looked over this script and it was kind of right but the if shouldn't be var= it should be a as that is the input box name. Also it took me a while to work out why it wasn't working but turns out that you hadn't declared the var and that was last thing i thought of lol, here it is working.
dim a
a=InputBox("Do you like Cheesecake?:","title")
if a=("yes") Then
 msgbox("YAY! I like cheesecake too!")
elseif a=("no") Then
msgbox("Aww..... You suck. Cheesecake is the best!")
msgbox("Enter yes or no!")
End If 
hope it helped, sorry for the slow reply.

I know it's two years ago but I've played a bit a made this

dim a

a=InputBox("Do you like Cheesecake?:","title")

if a=("yes") Then

msgbox("YAY! I like cheesecake too!")

elseif a=("Yes") Then

msgbox("YAY! I like cheesecake too!")

elseif a=("No") Then

msgbox("Aww..... You suck. Cheesecake is the best!")

elseif a=("no") Then

msgbox("Aww..... You suck. Cheesecake is the best!")


msgbox("Enter yes or no!")


End If

Hope it's good :) It'll loop (if filename is cheesecake.vbs) until you write "Yes", "yes", "No" or "no" :)

Cobalt59 iRule4 years ago
SORRY for the REALLY slow reply. Thanks man!
End If.

A little bit complex.

Radobot5 years ago
Do you know the script that find a path where is a script saved?
(Because in vb6 it is in var AppPath) 
iRule (author)  Radobot5 years ago
i don't quite get you ....
if you want a path can't you just type it in without the app.path ?
then again I've never used VB6 so I'm still not sure what app.path does.
Radobot iRule5 years ago
I need a variable in that is a way where is the script saved,
because that script is 'frozing' a computer and works like this:

Set x = CreateObject(Wscript.Shell)
x.Run way where is script saved
Loop 'looping forever - forzing
iRule (author)  Radobot5 years ago
not that i approve of freezing a pc lol but can't you just do:

set x = CreateObject("WScript.Shell")
x.run "lol.bat"

that's if you have a bat file named lol
hex3235 iRule3 years ago
or make a batch file containing

@echo off
goto :1

assuming the batch file is called 1.bat
im 13 and i know this i thoght someone would have thoght of that LOL
wrs715 iRule5 years ago
LOL Scripts and programs like this have existed for a long time. It's known as a "rabbit hunt", where scripts spawn children (which in turn spawn children) and so on, until system resources are eaten up. The better admins (Hackers?) make a game of killing parents before the system locks up.
Radobot iRule5 years ago
Great idea! I will make this:

Batch file:
start "Forze.vbs"
goto s

in same folder vbscript:


For i = 1 To 3
i = 2
Next i
I could barely understand what it was you were saying about the vbs to batch conversion. I am trying to find a good converter online but f2ko's vbs to exe doesn't work(I have a batch to exe so I could convert vbs to batch to exe). I looked at this method and am trying to figure it out but you didn't say what I should do. I copied and pasted the vbs code into notepad and created the vbs, and it works when I run it, but what do I type in on the line? A msgbox script? One word? I also tryed making a file called test.bat and put in in the same file folder, opened the vbs tryed a msgbox script and word and nothing happened. I then tryed pasting the "Batch" code (you didn't say what that is for either) in test.bat and all it does is pop up some cmd window that says whatever I typed into the vbs (and not a vbs window) somethin it also says sometimes is an error with line 5 character 1. What is the correct Character? Please give me a full explaination on exactly what I sould do. Thanks
iRule (author)  si13ntsl4y3r4 years ago
i am confused as to why you are confused ? Are you trying to make a vbs into a exe ? if so, then if the f2ko converter does not work i do not know of what else to use, as i do very little scripting in actual vbs, meaning i have little need for them as exes.
lanky.ninja5 years ago
set shellobj = CreateObject("WScript.Shell") shellobj.run "notepad" shellobj.sendkeys "I " wscript.sleep 1000 shellobj.sendkeys "S" wscript.sleep 1000 shellobj.sendkeys "E" wscript.sleep 1000 shellobj.sendkeys "E " wscript.sleep 1000 shellobj.sendkeys "YOU!!! " wscript.sleep 1000 shellobj.sendkeys "{ENTER}" wscript.sleep 4000 shellobj.sendkeys "{ALT+F4}"
erikals5 years ago

A great tutorial
btw, can you send me the code of the batch notepad i modified for you? I recently upgraded to a better pc and lost the file

hg3416 years ago
Set wshShell =wscript.CreateObject("WScript.Shell")
wscript.sleep 200
wshshell.sendkeys "{NUMLOCK}"
wscript.sleep 100
wshshell.sendkeys "{CAPSLOCK}"
wscript.sleep 100
wshshell.sendkeys "{sCROLLLOCK}"
wscript.sleep 200
wshshell.sendkeys "{sCROLLLOCK}"
wscript.sleep 100
wshshell.sendkeys "{CAPSLOCK}"
wscript.sleep 100
wshshell.sendkeys "{NUMLOCK}"

turn off numlock and run that
Radobot hg3415 years ago
Do you mean SendKeys method?
iRule (author)  hg3416 years ago
That's a lot like my loader:
LED Loader

so what do you want it to do?
hg341 iRule6 years ago
.... i never saw that i did 'cuz i was funny as hell
muttyfutty5 years ago
is it possable to replace a shortcut target in VB? Whats the code? thanks
iRule (author)  muttyfutty5 years ago
you want to change where a shortcut goes to ?

Set sh = CreateObject("WScript.Shell")
Set shortcut = sh.CreateShortcut("shortcut.lnk")
shortcut.TargetPath = "C:\where eva"
yes, like poping up a mesagebox when I accidently click Internet explorer (I use Firfefok)lol is that the code? what other "objects" can I create? thanks a bunch sorry for all the quetions! Mike
iRule (author)  muttyfutty5 years ago
yes that's the code , just save that script to a .vbs then change shortcut.ink to the name of your file and change C:\where eva to the new location you want the shortcut to lead ...
e.g: shortcut.TargetPath = "C:\folder\test.vbs"

the get object is used for certain functions:
different scripts need to call different functions.
e.g the CreateObject("SAPI.SpVoice") is used to make the pc talk.
Oh, Thanks alot for taking the time to reply! Thanks again :)
animan16 years ago
hey do you know how to set a button like if i did yes and no buttuns then if i press yes some thing will come up but if i press no somethingelse will com up
iRule (author)  animan16 years ago
simple version:

Set objShell = CreateObject("Wscript.Shell")
msg = Msgbox("Press yes to say hello.",36, "Hello?")
If msg = vbYes Then
msgbox("Hello =]")
End If

Says hello if you press yes
Quits if you press no
Does nothing if you press the X .. so you have to answer =]
Also: LINK - will help
animan1 iRule6 years ago
is there anything simpler?
iRule (author)  animan16 years ago
no that the simplest way that i know of sorry =/
btw its : dont need the top line of old 1

msg = Msgbox("Press yes to say hello.",36, "Hello?")
If msg = vbYes Then
msgbox("Hello =]")
End If
animan1 iRule6 years ago
thank you irule
this is a great tutorial, and it could finally get me going in vbs, thanks a ton!
iRule (author)  Psychic Master6 years ago
Glad i could help