VBAでクローラを再帰させることはできますか?私はコードをしようとしましたが、すぐに私のコードの点線のマーク領域内の行を見つけると、 "間違った引数の数または無効なプロパティの割り当て"を示すエラーがスローされます。私はVBAの専門家ではないので、私はそれをすることはできませんが、それが可能な方法を適用するかもしれないと思います。クローラに再帰呼び出しを実行させるにはどうすればよいですか?
Sub NEWAPPS()
Dim http As New MSXML2.XMLHTTP60, html As New HTMLDocument
Dim Items As Object, Item As Object, Newitem As Object, elem As Object
Dim Z As String
With http
.Open "GET", "https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8", False
.send
html.body.innerHTML = .responseText
End With
Set Items = html.getElementsByClassName("left")
Set Newitem = html.getElementsByClassName("name")
For Each Item In Items
x = x + 1
If Item.getElementsByTagName("h1").Length Then _
Cells(x, 1) = Item.getElementsByTagName("h1")(0).innerText
If Item.getElementsByTagName("h2").Length Then _
Cells(x, 2) = Item.getElementsByTagName("h2")(0).innerText
Next Item
For Each elem In Newitem
Z = elem.href
'---------------------
NEWAPPS (Z)
'---------------------
Next elem
End Sub
引数としてZを宣言していないので、(引数付きで) 'NEWAPPS(Z)'を呼び出すことはできません。また、コードに繰り返し出力があるようです。あなたは別個のアウトプットが必要なのですか?またはあなたは同じ出力を抽出したいと思いますか?* candy crush saga *のように、別のURLから何度も繰り返していますか? – Tehscript
あなたのコメントのためにありがとうTehscript。間違いなく、出力は一意でなければなりません。私が作った重大な間違いは、あなたが指摘したことですが、たとえ私がコードを実行させることができたとしても、メインURLがハードコードされているので、出力は何度も繰り返し押しつぶされてしまいます。とにかく、間違いの大まかなスケッチでしたが、再帰がvbaで可能かどうかわかりません。 – SIM