0

VBスクリプトで書いた下記のコードがあります。これを「辞書と配列」あたりのユーザーライブラリを使って書き換えたいのですが可能でしょうか?

可能であれば、どのユーザライブラリをどの順番に並べれば良いかお示し頂けると助かります。

やっていることは下記のとおりです。いろいろ書いていますが、やっていることはdocument.body.innerHTMLの中の、最後から6行目(これがlast_line)

の最後から2個目の数値をresultに取得しているだけです。

■4行目のbuf = Split(Right(document.body.innerHTML,255), vbLf)

で、某サイトに表示されている全単語を配列に取得し、配列の最後から6番目の行の内容をlast_line

に取得します。

■その後、last_lineに含まれる半角スペース1個や半角スペース2個を全で削除したあと、items = Split(last_line," ")で半角スペースをデリミタとしてlast_lineの内容を区切り直します。

 ■最後にresult = items(UBound(items)-1)でlast_lineの最後から2個目の単語をresultに取得します。

ーーーーーーー 

  Dim elements
  Dim buf
  Dim last_line

  buf = Split(Right(document.body.innerHTML,255), vbLf)
  num = UBound(buf)
  last_line = buf(num-6)

MsgBox last_line

  Do
     If InStr(1,last_line,"  ") > 0 Then
        last_line = Replace(last_line,"  "," ")
     Else
        Exit Do
     End If
  Loop
  items = Split(last_line," ")
  result = items(UBound(items)-1)

ーーーーーーー

回答した質問

本筋の回答ではありませんが
ライブラリに置き換える前にこのコードを整理すると
具体的な値が分からないので何とも言えませんが、
last_lineの中に” “(半角SP2個)あれば、” “(半角SP1個)に置換されていますが、last_line全体に対する置換になっていますので
Do ~ Loopの処理は必要なく
以下のような形でも同じ意味にはなりませんか。

ーーーーーーー
Dim elements
Dim buf
Dim last_line

buf = Split(Right(document.body.innerHTML,255), vbLf)
num = UBound(buf)
last_line = buf(num-6)

last_line = Replace(last_line,” “,” “)
items = Split(last_line,” “)
result = items(UBound(items)-1)
ーーーーーーー

>これを「辞書と配列」あたりのユーザーライブラリを使って書き換えたい

どういった配列をこのスクリプトで読み込んで、どのように並べ替えたいのか、具体例が無いと非常に回答が難しいかと思います、、、。
「こうしたい」というゴールを明確にしていただければ、有識者の皆様も回答しやすくなるのではないでしょうか?

質問文の3行目にアンダーラインで追記しましたが、これでやりたいことを理解いただけますでしょうか? 言うまでもなくdocument.body.innerHTMLは一般的なWebページですので、具体例ではなく、一般的な例で回答いただければ十分かと存じます。