在VB脚本中显示下拉/组合框

时间:2013-03-20 05:54:07

标签: scripting vbscript scripting-language

我正在尝试在VB脚本中创建一个下拉/组合框。根据我的理解,我们需要为Internet Explorer创建一个实例并创建一个下拉/组合框,如下所示:

  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

是否可以在不使用IE的情况下创建dorp-down / combo框,类似于Message Box或Input Box?

1 个答案:

答案 0 :(得分:5)

我很确定这里的很多用户都很乐意回答这个问题,他们的回复可能会有不同的细节,但肯定答案是一样的 - 不。至少不是纯粹的{{1}并且无需编写自己的VBScript组件,然后在ActiveX脚本中使用CreateObject进行即时创建。

但如果您正在寻找替代方案,那么可以将HTA视为您自己的自定义GUI的选项。