holzholer
Goto Top

HTA checkboxen mit VBScript auslesen

Hallo zusammen,

ich habe eine HTA Datei mit einer nicht festgelegten Anzahl an checkboxen in folgendem Stil:
<input type="checkbox"name="USB_0" value="2"> Kingston DT Mini Slim USB Device<br>
<input type="checkbox"name="USB_1" value="1"> Walletex WalletFlash USB Device<br>
plus evtl mehr
Diese sollten dann wie folgt ausgewertet werden:

If USB_x.Checked Then
   DO SOMETHING WITH value
End If

Jetzt hab ich natürlich das doofe Problem, dass ich bei der VBScript Ausführung nicht weiß wie viele USB_x Objekte habe.

Daher meine Fragen:

  • Kann man die USB_x Objekte irgendwie in ein array stopfen, so dass ich dann mit For Each USB-drive in arrUSB-drives arbeiten kann?
  • Gibt es ein IF EXISTS OBJECT? Damit könnte man das sicher auch workarounden
  • Oder gibt es eventuell eine andere schöne Möglichkeit Mehrfachauswahlen bei einer nicht vorgegeben Item-Menge durchzuführen? Mit der man dann natürlich auch mit rudimentären VBScript Kenntnissen weiterscripten kann?

PS. der input Teil der hta wird dynamisch aus einer batch erzeugt, falls es wichtig ist.

Beste Grüße und danke im voraus an jede Beteiligung,
holzholer

Content-Key: 119798

Url: https://administrator.de/contentid/119798

Printed on: April 20, 2024 at 00:04 o'clock

Member: holzholer
holzholer Jul 07, 2009 at 14:05:40 (UTC)
Goto Top
Hallo zusammen,

vielleicht ist sowas möglich wenn man eine <form name="blabla"></form> aussenrumpackt. Dann hat man ja ein existierendes Objekt.

Ich hab das ganze aber mittlerweile anders gelöst. Mit einer Multi-select Listbox und dem dazugehörigen code aus dem HTA-Helpomatic

HTML Code
<select size="3" name="DropDown1" multiple>  
<option value="1">Option 1</option>  
<option value="2">Option 2</option>  
<option value="3">Option 3</option>  
<option value="4">Option 4</option>  
</select>

Sub in der HTA
Sub RunScript
    For i = 0 to (Dropdown1.Options.Length - 1)
        If (Dropdown1.Options(i).Selected) Then
            strComputer = strComputer & Dropdown1.Options(i).Value & vbcrlf
        End If
    Next
    Msgbox strComputer
End Sub  

Beste Grüße,
holzholer