Hallo!
Ich habe ein Script für eine Fortschrittsanzeige.
Leider funktioniert diese nur unter WinNT.
Nicht unter XP.
Wisst ihr ne Lösung für XP?
Hier mal der Code für die NT Lösung:
Option Explicit
On Error Resume Next
Const min = 0
Const max = 100
Const Title= "Fortschrittsanzeige"
Dim oIE
Dim valx, k, i
MakeBar ' Erzeuge IE-Fenster mit Fortschrittsanzeige
valx = 0
' Wiederholung, bis maximum erreicht ist.
Do
Progress valx, min, max ' Anzeige ändern
MsgBox "Wert " & valx, vbOkOnly, Title
valx = valx + 10 ' nächster Schritt
Loop While (valx < 110)
' Jetzt noch einige Beispiele, die die Anzeige
' automatisch ändern.
For k = 1 to 3
For i = 0 to 100
Progress i, min, max
Next
For i = 100 to 0 Step -1
Progress i, min, max
Next
Next
MsgBox "Fertig"
oIE.Quit ' Internet Explorer schließen
Sub MakeBar ()
' Internet Explorer starten, Seite erzeugen,
' Control einbinden
Dim html
' HTML-Code
html = "<html><head><title>Fortschrittsanzeige</title></head>" & _
"<body bgcolor='silver' scroll='no'>" & _
"<B><div id='T2'>Value: 0</div></B>" & _
"<OBJECT CLASSID='clsid:0713e8d2-850a-101b-afc0-4210102a8da7' " & _
"HEIGHT='20' WIDTH='260'ID='P1'></OBJECT>" & _
"<OBJECT CLASSID='clsid:35053A22-8589-11D1-B16A-00C0F0283628' " & _
"HEIGHT='20' WIDTH='260'ID='P2'></OBJECT>" & _
"</body></html>"
' *** Internet Explorer starten ***
Set oIE = WScript.CreateObject("InternetExplorer.Application")
oIE.left=50 ' Fensterposition
oIE.top = 100 ' etc.
oIE.height = 150
oIE.width = 320
oIE.menubar = 0 ' Menü ausblenden
oIE.toolbar = 0
oIE.statusbar = 0
oIE.navigate "about:" & html ' Formular
oIE.visible = 1 ' Fenster sichtbar
' Warte bis IE fertig
Do While (oIE.Busy)
WScript.Sleep 50 ' suspend
Loop
End Sub
Sub Progress(ByVal x, min, max)
' max. 100 Schritte
On Error Resume Next
With oIE.Document.all
If x < min Then x = min
If x > max Then x = max
' Wert berechnen
.P1.value = 100 * x / (max - min)
.P2.value = 100 * x / (max - min)
' Wert anzeigen
.T2.InnerHTML= "Wert: " & x
End With
End Sub
Gruß
Waldgeist