Display a drop-down/combo box in VB Script

Gokul Nath KP picture Gokul Nath KP · Mar 20, 2013 · Viewed 11.4k times · Source

I'm trying to create a drop-down/combo box in VB Script. As per my understanding we need to create an instance for Internet Explorer and create a drop-down/combo box, something like this:

  set oIE = createObject("InternetExplorer.Application")
  with oIE
    .Navigate "about:blank"
    Do until .ReadyState = 4 : WScript.Sleep 100 : Loop
    set oDoc = .document
    .Visible = true
  end with

  with oDoc
    .open
    .writeln "<html><head><title>ComboBox Example</title></head>"
    .writeln "<body scroll=no><object "
    .writeln "classid=clsid:8BD21D30-EC42-11CE-9E0D-00AA006002F3"
    .writeln "id=ComboBox1 width=400></object><p>"
    .writeln "</body></html>"
    .close
    Do until .ReadyState = "complete" : WScript.Sleep 100 : Loop
    set oComboBox1 = .all.ComboBox1

  end with

  with oComboBox1
    .List = Array("One", "Two", "Three", "Four")
    .AutoWordSelect = true
    .focus
  end with
  oDoc.parentWindow.opener = "Me"

  bClosing = false

  on error resume next
  do until bclosing: wsh.sleep 100 : loop
  oIE.quit

  sub Closing : bClosing = True : end sub

Is it possible to create an dorp-down/combo box without using IE, similar to Message Box or Input Box?

Answer

Panayot Karabakalov picture Panayot Karabakalov · Mar 20, 2013

I'm quite sure many users here will glad to answer on this question, and their reply may hold varied details, but for sure the answer w'd been the same - No. At least not with pure VBScript and without programming your own ActiveX component, which then to instantinate with CreateObject inside your .vbs script.

But if you looking for alternative then may consider HTA as an option for your own custom GUI.