VBscriptでWebサイトの数値集計する方法を教えてください。
スクリプト初心者です。
まずは、下記のHTML文の抜粋をご覧ください。(一部暗号化しています)
---<start of HTML>----
<BR><b>Interteeeettlintees)</b><BR><br>
<pre>
r25.otrr02.rr.bb ae18 40000000000 BL: r00.serrrr2.yy.bb be-3
rrr rrr rrr 933 933 933 dddl
ww www www ee eee eee tttt
--------- --------- --------- --------- --------- --------- --------
8215.60 12386.22 12386.22 8940.49 15168.94 15168.94 59
r30.ter05.dd.bb rr7 50000000000 BL: r01.ttttt2.rr.bb be-3
gggg rrr eee 955 955 777 Pyyl
tt eee eex tt ttt M7 Cyyyt
--------- --------- --------- --------- --------- --------- --------
2912.23 7891.99 7891.99 3750.74 9034.22 9034.22 60
TOTAL
</pre><br>
--<end of HTML>----
preタグに挟まれたエレメントの中に、”BL:”を含む行が幾つかあります。(数は不定です)
この、”BL:”の直前には必ず整数(ボールド体の数値です)があり、その合計をVBScriptで求めたいです。
なお、preタグはこのページに1個しかありません。
スクリプト作り建てとしては、
1.
Dim elements 'outerHTMLのelements
Dim arrayTemp 'elementsを半角スペースで区切った一次元配列
Dim Total ' "BL:"のひとつ前の配列の整数値を加算する変数
以上は変数の宣言
Set elements = document.GetElementsByTagName("pre")
で変数elementsにpreタグを取得する。
2.
elements = Replace(elements,CStr(vbCrLf)," ")
でvbCrLfを半角スペースに置換する。
3.
Do
If InStr(1,elements," ") > 0 Then
elements = Replace(elements," "," ")
Else
Exit Do
End If
Loop
でelementsに含まれる連続半角スペースを削除し、半角スペースを1個にする。
4.
arrayTemp = Split(elements," ")
でarrayTempにelementsを半角スペースで区切って一次元配列を挿入する。
5.
Total = 0.0
For i = 0 to arrayTemp.Length - 1
If arrayTemp(i) = "BL:" Then
Total = Total + CDbl(arrayTemp(i -1))/1000000000
Endif
Next
でTotalに整数値を加算する。
で良いでしょうか?机上デバッグしたいので、どこかバグがあれば教えてください。
このスクリプトを部分実行すると、添付画像のエラーが出ます。どういう意味でしょうか?