VB スクリプト コードを含む HTA ファイルに進行状況バーを表示しています。これは、複数のクリックで正常に機能しています。問題は、メッセージ ボックスやエラー ウィンドウなどのユーザー インタラクションが発生するまで更新されないことです。異なる関数を呼び出している単一のサブで呼び出すと、進行状況が表示されません。
<Script Language="VBScript">
'------------for Progress bar --------------
Public w,x,y, MyTitle
w=100
x=0
y=100
MyTitle = " _ Progress"
'----------- w: bar width, x: done items, y: remaining items
Sub test
Progress(10)
callsubA()
Progress(10)
callsubB()
Progress(20)
callsubC()
Progress(10)
End Sub
Function Progress(step)
x=x+step
d = Round( x / (y/w) +1 ,0)
document.Title = FormatPercent(x/y, 0) & MyTitle
document.all.ProgBarText.innerText = x & "/" & y
document.all.ProgBarDone.innerText = String(d, "_")
If d<w Then
document.all.ProgBarToDo.innerText = String(w-d, "_") & "|"
Else
document.all.ProgBarToDo.innerText = "|"
End If
If x>=y Then
document.all.ProgBarToDo.innerText = ""
MsgBox "Migration Completed"
x=0
d = Round( x / (y/w) +1 ,0)
document.Title = "Completed"
document.all.ProgBarText.innerText = ""
document.all.ProgBarDone.innerText = ""
End If
End Function
</script>
そして私のHTMLは次のようになります:
<span id="ProgBarText"></span><br>
<span id="ProgBarDone" style="background-color: #3399FF"></span>
<font color="#FFFFFF">
<span id="ProgBarToDo"style="background-color: #C0C0C0"></span>
</font>
すべてのサブの後に msgbox を指定すると、正常に動作します....