InputBox with multiple fields (inputs) using VBScript?

Does anyone know if it is possible to create an InputBox that contains multiple fields (inputs) on a single input box using VBScript?  I'd like to ba able to set three variables using a single InputBox, rather than using three consecutaive InputBoxes.
Who is Participating?
sirbountyConnect With a Mentor Commented:
You could have something like:

Enter your selections, separating them with a comma:

And then use the Split function to grab the data:

arrValues = Split(strResponse, ",")

Other than that, I don't know of a way...
zabu99Connect With a Mentor Commented:
Another option is to make your script (or at least part of it) an HTA.
This allows you to add several text boxes (or other controls) without having to click okay multiple times.

	applicationname="HTA Sample"
<SCRIPT language="vbscript">
Sub RunThisSubroutine
	str1 = TextBox1.Value
	str2 = TextBox2.Value
	str3 = TextBox3.Value
	msgBox str1 & ", " & str2 & ", " & str3
End Sub
<BODY STYLE="FONT:10 pt verdana; COLOR:black; filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#FFCC66', EndColorStr='#FFFFFF')">
Hyper Text Applications make it easy to add user inputs: <BR>
<input type="text" name="TextBox1" size="30"><BR><BR>
<input type="text" name="TextBox2" size="30"><BR><BR>
<input type="text" name="TextBox3" size="30" value="A default value can go here"><BR><BR>
<input id=runbutton class= "button" type="button" value="Run" name="button1" onClick="RunThisSubroutine">

Open in new window

Oh, you need to save the above script as "whatever.HTA"
(it might have been obvious, but just in case).
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Hi, VBScript itself is not capable of this.  You could either build a HTA:

You could also try this custom message box component:

although I haven't used it yet, and I'm not sure if it support multiple inputs....


Ah, didn't refresh for 15 minutes.....zabu has provided a good HTA example...

morcianiAuthor Commented:
Excellent.... both solutions work!
For others looking for a solution:

Depending on why you want multi-line input, you might also be able to use the clipboard instead of an input field.

Code example by 'E'

Full post on

Worked for me :-)

Best regards,

Dim fso
Dim objIE
Dim sText
Set fso = CreateObject("Scripting.FileSystemObject")
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "about:blank"
Do Until objIE.ReadyState=4: WScript.Sleep 1: Loop
sText = objIE.Document.ParentWindow.ClipboardData.GetData("text")
objIE.Document.ParentWindow.ClipboardData.SetData "Text", sText

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.