2013-03-20 8 views
7

Ich versuche ein Drop-Down/Combo-Feld in VB Script zu erstellen. Gemäß meinem Verständnis müssen wir eine Instanz für Internet Explorer erstellen und eine Drop-Down/Combo-Box, so etwas wie dies zu erstellen:Anzeige eines Dropdown-/Kombinationsfelds in VB Script

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 

Ist es möglich, eine dorp-down/Combo-Box zu erstellen, ohne IE zu verwenden, ähnlich wie Message Box oder Input Box?

+0

[einen Versuch wert] (http://www.veretennikov.org/WSO/) –

Antwort

5

Ich bin ziemlich sicher, dass viele Benutzer hier gerne auf diese Frage antworten werden, und ihre Antwort kann verschiedene Details enthalten, aber sicher wäre die Antwort die gleiche gewesen - Nein. Zumindest nicht mit reinem VBScript und ohne Programmierung Ihrer eigenen ActiveX Komponente, die dann mit CreateObject in Ihrem .vbs Skript instanziieren.

Aber wenn Sie eine Alternative suchen, dann können Sie HTA als Option für Ihre eigene benutzerdefinierte GUI betrachten.