2017-03-29 22 views
2

ウェブページの移動にExcelを使用したいと思います。しかし、このウェブサイトでは、通常のサイト(アマゾン、グーグル、その他)のようにIDを使用していません。ウェブサイトはhttp://www.scoopmae.com/です。どのように私は "ブックデモ"ボタンを選択します。私は通常、getelementbyIDを使用しますが、私はIDを知らない。私もタグとクラスを試みましたが、運はありません。excel vbaを使用してウェブサイトのボタンを選択したい

Sub scoop() 
Set objie = CreateObject("InternetExplorer.Application") 
objie.Top = 0 
objie.Left = 0 
objie.Width = 1600 
objie.Height = 900 
objie.Visible = True 'We can see IE 

On Error Resume Next 
objie.navigate ("http://scoopmae.com") 
Do 
DoEvents 
Loop Until objue.readystate = 4 

Application.Wait (Now + TimeValue("0:00:02")) 
'MsgBox ("wait") 
'click button 
'objie.document.getElementsById("scoop-sort").Click 



x = objie.document.getElementsByClassName("a") 
Cells(1, 2) = x 
End Sub 
+0

私はこの質問に非常によく似た質問に答えました。 http://stackoverflow.com/questions/43095155/vba-to-complete-a-internet-form/43096864?noredirect=1#comment73287084_43096864 – Miguel

答えて

1

私はこれを行うことでボタンにアクセスできます。

Sub test() 


Dim oHtml As HTMLDocument 
Dim oElement As Object 

Set oHtml = New HTMLDocument 

With CreateObject("WINHTTP.WinHTTPRequest.5.1") 
    .Open "GET", "http://www.scoopmae.com/", False 
    .send 
    oHtml.body.innerHTML = .responseText 
End With 

Set mybtn = oHtml.getElementsByClassName("sf-button large orange default dropshadow")(0).getElementsByTagName("span") 

i = 0 
For Each oElement In mybtn 
    Debug.Print mybtn(i).innerText 
    i = i + 1 
Next oElement 

End Sub 

あなたはツールに行くことを確認してください - >参考資料とMicrosoft HTMLオブジェクトライブラリ[MSHTML.TLB]に おかげ あなたは、基本的権利があるミゲル

+0

ありがとうございますが、エラー424が発生しています。オブジェクトが助けになりませんでした。私は私の参照が正しく設定されている – andrew

+0

@アンドリュー、私の障害のコピーの貼り付けは私をもう一度持っています。もう一度試してみてください。私はそれぞれのループのために修正しました私は間違った 'Var'を持っていました – Miguel

+0

ありがとう!それは素晴らしい作品です。 Range( "A"&i + 1)= mybtn(i).innerTextに変更しました。それ以外は何も印刷されませんしかし、私はウェブページも見えるようにしたい。私はwithループでHTMLDocument.visible = trueを設定しようとしましたが、動作しませんでした。私はこれらのタイプのアプリケーションにIEを使用するのに慣れています。私はIEのコードを書き直すか、ショートカットIMが欠けていますか?もう一度ありがとう、あなたはとても役に立ちました! – andrew

0

を参照を追加!!あなたは2つの参照を追加していることを確認してください: 1マイクロソフトのインターネットは、このリンクを参照してくださいhttp://vbadud.blogspot.com/2009/08/how-to-login-to-website-using-v

でもっと読む 2.マイクロソフトHTMLオブジェクトライブラリ を制御します。ここで

http://vbadud.blogspot.com/2009/08/how-to-login-to-website-using-vba.html

コードは次のとおりです。

Sub test() 


Dim oHtml As HTMLDocument 
Dim oElement As Object 

Set oHtml = New HTMLDocument 

With CreateObject("WINHTTP.WinHTTPRequest.5.1") 
    .Open "GET", "http://www.scoopmae.com/", False 
    .send 
    oHtml.body.innerHTML = .responseText 
End With 

Set mybtn = oHtml.getElementsByClassName("sf-button large orange default dropshadow")(0).getElementsByTagName("span") 

i = 0 
For Each oElement In mybtn 
    Debug.Print mybtn(i).innerText 
    oElement.Click 
    i = i + 1 
Next oElement 

End Sub 
関連する問題