7

我正在尝试在 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 box,类似于 Message Box 或 Input Box?

4

1 回答 1

5

我很确定这里的许多用户都会很乐意回答这个问题,他们的回复可能包含不同的细节,但可以肯定的是答案是相同的 - 不。至少不是纯VBScript的并且没有编写自己的ActiveX组件,然后CreateObject在你的.vbs脚本中实例化。

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

于 2013-03-20T07:23:17.240 回答