Смотри также: http://www.w3schools.com/vbscript/vbscript_looping.asp
ответ Паксиабло правильный - вы не используете End While
в VBScript. Ваш код должен выглядеть так:
<code>Sub SetText(tx, lw)
Dim t, l, r, a
t = -1
l = Len(tx)
r = ""
a = 0
While t < l
t = t + 1
a = Asc(Mid(tx,t,1))
If a >= 160 or a=60 or a=62 or a=38 or a=34 or a=39 or a=32 Then
If a = 32 Then
r = r + " "
Else
r = r + "&#" + Cstr(a) + ";"
End If
Else
r = r + Mid(tx,t,1)
End If
Wend '<---'
If Not lw Then
r = "<pre>" + r + "
»
End If
r = "
" + r + "
"
objExplorer.document.body.innerHTML = r
End Sub
Последнее, что я проверил, это устаревшая структура управления и, как правило, не рекомендуется. Ваш код должен, вероятно, действительно выглядеть так:
<code>Sub SetText(tx, lw)
Dim t, l, r, a
t = -1
l = Len(tx)
r = ""
a = 0
Do While t < l
t = t + 1
a = Asc(Mid(tx,t,1))
If a >= 160 or a=60 or a=62 or a=38 or a=34 or a=39 or a=32 Then
If a = 32 Then
r = r + " "
Else
r = r + "&#" + Cstr(a) + ";"
End If
Else
r = r + Mid(tx,t,1)
End If
Loop
If Not lw Then
r = "<pre>" + r + "
»
End If
r = "
" + r + "
"
objExplorer.document.body.innerHTML = r
End Sub
На самом деле, возможно, есть и другие изменения, но я не знаком с контекстом этого кода, который я советую.