• 0

[VBS] Alternative to InputBox


Question

1 answer to this question

Recommended Posts

  • 0
  VWW said:
Hi guys,

I code for a system that uses VBScript exclusively. I need to popup a sort of Input Box but with multiple text fields. Also need it to have specially named buttons instead of just the standard "OK". Is there any function in VBScript to allow this sort of thing?

No there no way of doing that with vbs. You could try a hta with your vbs script.

Here is a example that I made up for you to get the an idea of what you

can do with a hta.

Save As Demo.hta

  Quote
  <HEAD><HTML>
  <HTA:APPLICATION ID='Demo Hta'
   SingleInstance='Yes'   
   SysMenu='Yes'
   MaximizeButton='No'	
   MinimizeButton='Yes'
   SCROLLFLAT ='No'	   
   Border='Thin'
   BORDERSTYLE ='complex' 
   INNERBORDER ='Yes'
   Caption='Yes'		  
   WindowState='Normal'
   APPLICATIONNAME='Demo Hta'
   Icon='%Windir%\explorer.exe'>lt;TITLE>Demo Hta</TITLE>
 <STYLE Type='text/css'>
  Body
   {
	Font-Size:9.25pt;
	Font-Weight:Bold;
	Font-Family:segoeui,helvetica,verdana,arial,Poor Richard;
	Color:#000063;
	BackGround-Color:Transparent;
	Filter:progid:DXImageTransform.Microsoft.Gradient
	(StartColorStr='#fdf7f1',endColorStr='#a6a29e');
	Margin-Top:5;
	Margin-Bottom:5;
	Margin-Left:4;
	Margin-Right:4;
	Padding-Top:5;
	Padding-Bottom:5;
	Padding-Left:4;
	Padding-Right:4;
	Text-Align:Center;
	Vertical-Align:Top;
	Border-Top:2px Solid #cbc7c3;
	Border-Bottom:3px Solid #a6a29e;
	Border-Left:2px Solid #bcb8b4;
	Border-Right:3px Solid #b2aeaa;
   }
  Select.Bx1
   {
	Font-Size:8.05pt;
	Font-Weight:Bold;
	Font-Family:segoeui,helvetica,verdana,arial,Poor Richard;
   }
  .B1
   {
	Width:105px;
	Color:#00005a;
	Font-Size:8.05pt;
	Font-Weight:Bold;
	Font-Family:segoeui,helvetica,verdana,arial,Poor Richard;
   }
  .B2
   {
	Width:95px;
	Color:#00005a;
	Font-Size:8.05pt;
	Font-Weight:Bold;
	Font-Family:segoeui,helvetica,verdana,arial,Poor Richard;
	Filter:progid:DXImageTransform.Microsoft.Gradient
	(StartColorStr='#99CCFF',endColorStr='#224466');
	Margin-Top:1;
	Margin-Bottom:1;
	Margin-Left:1;
	Margin-Right:1;
	Padding-Top:0;
	Padding-Bottom:0;
	Padding-Left:0;
	Padding-Right:0;
	Border-Top:0px Transparent;
	Border-Bottom:0px Transparent;
	Border-Left:0px Transparent;
	Border-Right:0px Transparent;
   }
  .ListBox
   {
	Font-Size:8.05pt;
	Font-Weight:Bold;
	Color:131313;
	Font-Family:segoeui,helvetica,verdana,arial;
	Padding-Left:5;
   }
 </STYLE>
 <script Language="VBScript">
  window.resizeTo 443,303
  window.moveTo 125,125
  Dim Fso	:Set Fso = CreateObject("Scripting.FileSystemObject")
  Dim IDate  :Set IDate = CreateObject("WbemScripting.SWbemDateTime")
  Dim Wmi	:Set Wmi =GetObject("winmgmts:\\.\root\CIMV2")
  Dim Arg1, Arg2, Arg3,  CT, StrD
'/--> Listbox Fill Contents
   Function Window_onLoad()
	For Each StrD In Fso.Drives
	 If StrD.IsReady Then
	  Arg3 = Arg3 & vbCrlf & _
	   "Letter" & vbtab & StrD & vbCrlf &_
	   "Name  " & vbtab & StrD.VolumeName & vbCrlf &_
	   "Size  " & vbtab & FormatNumber(StrD.TotalSize/1073741824,2) & vbCrlf &_
	   "Free  " & vbtab & FormatNumber(StrD.FreeSpace/1073741824,2) & vbCrlf  
	  CT = CT + 1
	  Set objOption = Document.createElement("OPTION")
		objOption.Text = StrD
		objOption.Value = StrD
	   If CT Mod 2 Then
		objOption.style.backgroundcolor = "#D9D9D9" 
		objOption.style.color = "#3A3A3A"
	   Else 
		objOption.style.backgroundcolor = "#E9E9E9" 
		objOption.style.color = "#235779" 
	   End If
	  Drives.Add(objOption)
	 End If
	Next 
   Exit Function
   End Function
'/--> Listbox Get Drive Selected
   Function ShowDriveInfo()
	For Each StrD In Fso.Drives
	 If InStr(Drives.value,StrD) Then
	  TextArea1.value = _
	   "Letter " & vbtab & Drives.value & vbCrlf &_
	   "Name   " & vbtab & StrD.VolumeName & vbCrlf &_
	   "Size   " & vbtab & FormatNumber(StrD.TotalSize/1073741824,2) & vbCrlf &_
	   "Free   " & vbtab & FormatNumber(StrD.FreeSpace/1073741824,2)
	  End If
	Next 
	Exit Function
   End Function
'/--> Wmi Function
   Function Win32_OperatingSystem()
	For Each Obj1 in Wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem",,48)
	 IDate.Value = Obj1.InstallDate
	 Arg1 = "Install" & vbtab & IDate.GetVarDate & vbCrlf
	 IDate.Value = Obj1.LastBootUpTime
	 Arg2 = "Uptime " & vbtab & DateDiff("h", IDate.GetVarDate, Now) & " Hours" & vbCrlf
	Next
	Exit Function
   End Function
'/--> System Installed Date
   Function InstalledDate()
	Win32_OperatingSystem()
	TextArea1.value = Arg1
	Exit Function
   End Function
'/--> System Uptime
   Function SystemUptime()
	Win32_OperatingSystem()
	TextArea1.value =Arg2
	Exit Function
   End Function
'/--> Show The All Text Box Contents
   Function Selection()
	 If TextArea1.value = "" Then
	   window.alert( _
	   "There was no Text selected in the Listbox. " & vbCrlf &_
	   "There must be some text in the Listbox.")
	 Else
	  window.alert(vbtab & "Listbox 1 Value" & vbCrlf & TextArea1.value)
	  TextArea1.value = ""
	 End If
	Exit Function
   End Function
'/--> Shows All Buttons, Drive ListBox In The Text Area
   Function ShowAllInfo()
	Win32_OperatingSystem()
	TextArea1.value = Arg3 & vbCrlf & Arg1 & vbCrlf & Arg2 
	Exit Function
   End Function
'/--> Shows Selected Text Only
	Function ShowSelection()
	 Set objSelection = Document.Selection.CreateRange()
	  If objSelection.text = "" Then 
	   window.alert("Nothingcted")
	  Else
	   window.alert(objSelection.text)
	  End If
	Exit Function
   End Function
  </SCRIPT>
 </HEAD><BODY Scroll='No'>
<!-- Text 1-->
 <DIV ID='Txt1' STYLE='Position:Absolute;Top:12;Left:42;'>
  Basic Drive Information</Div>
<!-- List Box -->
 <select size='1.25' name='Drives' Class='Bx1' 
  style='Position:Absolute;Top:12;Left:252;Width:105px;' 
  OnChange='ShowDriveInfo()'>
  <OPTION Value='Select A Drive' Style='BackGround:#E9E9E9;Color:#235779;'>
   Select A Drive</OPTION>
 </select>
<!-- Text 2-->
 <DIV ID='Txt2' STYLE='Position:Absolute;Top:36;Left:42;'>
  System Installed Date</DIV>
<!-- Button 1-->
 <INPUT Type='BUTTON'ID='Btn01' Class='B1'
  Style='Position:Absolute;top:36;Left:252;'
  OnClick='InstalledDate()' Value='Installed Date'>
<!-- Text 3-->
 <DIV ID='Txt3' STYLE='Position:Absolute;Top:60;Left:42;'>
  System Up Time</DIV>
<!-- Button 2-->
 <INPUT Type='BUTTON' ID='Btn02' Class='B1'
  Style='Position:Absolute;top:60;Left:252;'
  OnClick='SystemUptime()'Value='System Uptime'>
<!-- Text 3-->
 <DIV ID='Txt3' STYLE='Position:Absolute;Top:84;Left:42;'>
  Type Some Text In The Listbox</DIV>
<!-- Button 3-->
 <INPUT Type='BUTTON' ID='Btn03' Class='B1'
  Style='Position:Absolute;top:84;Left:252;'
  OnClick='Selection()'Value='Show ListBox'>
<!-- Text Area -->
 <TEXTAREA Name="TextArea1" Class='ListBox'
  Style='Position:Absolute;top:109;Left:23;'
  Rows='7' Cols='72'></TEXTAREA>
<!-- Button 4-->
 <INPUT Type='BUTTON' ID='Btn04' Class='B2'
  Style='Position:Absolute;Bottom:12;Left:20;'
  OnClick='ShowAllInfo()' Value='Show All Info'>
<!-- Button 5-->
 <INPUT Type='BUTTON' ID='Btn05' Class='B2'
  Style='Position:Absolute;Bottom:12;Left:117;'
  OnClick='ShowSelection()' Value='Show Selected'>  
<!-- Button 6-->
 <INPUT Type='BUTTON' ID='Btn06' Class='B2'
  Style='Position:Absolute;Bottom:12;Right:117;'
  OnClick='TextArea1.value =""' Value='Clear'>
<!-- Button 7-->
 <INPUT Type='BUTTON' ID='Btn07' Class='B2' 
  Style='Position:Absolute;Bottom:12;Right:20;'
  OnClick='window.close()' Value='Close'>
 </BODY></HTML>
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • they should have just made the cans look like speaker drivers. these are kind of off putting
    • Sounds like a tool is needed to backup drivers from Win Update for older devices. Anyone got a rough idea besides doing a manual backup of driverstore?
    • Stylish Samsung Galaxy S25 Edge gets 20% discount sending it to lowest price by Paul Hill If you’re in the market for a powerful, stylish phone, then you may be interested in the Galaxy S25 Edge, which is now reduced to $969.99, down 20% from the $1,219.99 list price. This is the lowest price that the device has been at on Amazon. You can get the device at this price if you go for the Titanium Icyblue or Titanium Silver editions. These models are the top-end S25 Edge variants with 512GB of storage. While this Samsung device may be about as thick as a pencil, it’s constructed from titanium and uses Corning Gorilla Glass Ceramic 2 on the display. This should ensure durability, despite its thin design. The thickness of this phone is just 5.8mm, and it weighs 163g. Camera capabilities and AI enhancements The Galaxy S25 Edge's camera system is impressive. It has a 200MP main camera with optical image stabilization and a 2x optical quality zoom. This feature magnifies the image using optical mechanisms in the camera lens so that the zoomed image retains its original clarity, detail, and resolution of the scene. On the back, there is also a 12MP ultrawide camera with autofocus and on the front, there’s a 12MP camera. Like many phones coming out now, there are AI-powered camera features such as Night Video, Best Face for group shots, Portrait Selfie, and Gallery Search by description. Notably, there is no dedicated telephoto lens like in the S25+ and S25 Ultra. This is a tradeoff that the company decided to make to achieve its ultrathin design. Telephoto lenses are camera lenses that are designed to make distant objects appear closer and larger in your photos and videos. The absence of this telephoto lens may be a deal breaker for those looking to use this camera for professional shots; otherwise, it’s still very impressive, especially with that 200MP main camera. Performance, display, and integrated AI features The S25 Edge is powered by the Snapdragon 8 Elite chipset, specifically the 3-nanometer Qualcomm SM8750-AB. It has an octa-core CPU (2x4.47 GHz Oryon V Phoenix L + 6x3.53 GHz Oryon V2 Phoenix M) and an Adreno 830 GPU. This model's display is a 6.7-inch QHD+ Dynamic AMOLED 2X with a 120Hz adaptive refresh rate and high brightness. This device has plenty of other AI features too, outside of the camera, including Cross App Action, Audio Eraser for videos, Now Brief/Now Bar for personalized information, and of course, Google Gemini. With 12GB of RAM, the specs on this phone are really very good. It should be capable of doing most tasks you throw at it, including gaming. You may wonder if it will handle games well, given that the thin design means it could overheat. Samsung has already thought about this and included a reconfigured vapor chamber that helps to keep the phone cool. Battery life and charging speed: The main compromise Aside from the removal of the telephoto lens, this phone also has a drawback in terms of battery life. Its 3,900 mAh battery capacity means it’s smaller than many other devices, even compared to budget phones. Another disappointing aspect is the charging, where the wired charging speed is limited to 25W—that’s lower than what you find on very affordable Xiaomi POCO devices. This battery limitation might make this device a bad choice if you’re away from a charger for long periods. One affordable way to mitigate this downside is by carrying a portable charger, but still, it’s ironic that you buy a thin phone to be lighter and then end up carrying a brick-sized charger around with you. You could also just bring your charger and plug it into an outlet. Is the Galaxy S25 Edge the smart buy for you? If you’re someone who wants a sleek, lightweight phone that has a premium build and can easily slice through tasks you throw at it, then the Galaxy S25 Edge is very likely for you. It’s also great for anyone looking for a standout camera that doesn’t need a telephoto lens. However, if you need a device with all-day battery life because you’re going camping or to the middle of nowhere, then you could probably find a better fit with a longer battery life. If this device is for you, check out the links below. Samsung Galaxy S25 Edge (Titanium Icyblue): $969.99 (Amazon US) / MSRP $1,219.99 Samsung Galaxy S25 Edge (Titanium Silver): $969.99 (Amazon US) / MSRP $1,219.99 This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
    • I got too many apps I use actively. Theres been too often I completely blank on the name of the application and had to manually look through the list for it. Now I'm using Start11 and got my apps sorted in the Start menu by categories so that if I'm looking for Krita i can find it under "Art editors". If MS are going to change it, they should consider making automated categories. Seen some Linux distros do that. But if they do, theres probably gonna be a lot of wrongly categorized apps though, unfortunately.
  • Recent Achievements

    • First Post
      emptyother earned a badge
      First Post
    • Week One Done
      Crunchy6 earned a badge
      Week One Done
    • One Month Later
      KynanSEIT earned a badge
      One Month Later
    • One Month Later
      gowtham07 earned a badge
      One Month Later
    • Collaborator
      lethalman went up a rank
      Collaborator
  • Popular Contributors

    1. 1
      +primortal
      675
    2. 2
      ATLien_0
      276
    3. 3
      Michael Scrip
      219
    4. 4
      +FloatingFatMan
      167
    5. 5
      Steven P.
      162
  • Tell a friend

    Love Neowin? Tell a friend!