2017-06-26 3 views
0

私はvbaを通してボタンをクリックして使用しようとしていますが、 "オブジェクトはこのプロパティまたはメソッドをサポートしていません"と私に伝えます。今VBAを通じてウェブページのボタンをクリックするにはどうすればよいですか?

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

IE.document.getElementByType("button").getelementByClass("qm_historyTab_GoButton").Click 

ボタンのHTMLは次のとおりです。

<button class="qm_historyTab_GoButton" type="submit" style="font:normal 11px tahoma,arial,helvetica,sans serif;"> 
    <span class="qm_historyTab_GoButtonText">GO</span> 
</button> 
+0

'getElementByType' >>' getElementByTagName'と 'getelementByClass( "qm_historyTab_GoButton")' '>>のgetElementsByClassName( "qm_historyTab_GoButton")(0)' –

+0

私はこれを使用してみましたが、それはうまくいきませんでした。私はそれをねじ込んでいないことを確認するために、私は私のコードを添付しています: 'IE.document.getelementByClass(" qm_historyTab_GoButton ")(0).Click' – Sheldon

+0

'getelementByClass'は、私が指摘したようにコメント。 –

答えて

0

私はこの特定のインスタンスで解決策を見つけました。ボタンは送信タイプで、HTMLInputElementを使用してメッセージを送信します。

「Microsoft HTML Object Library」を自分の参照に追加し、それらの機能を利用する必要がありました。

私は応答を送信し、変数を作成する必要がありました:

Dim htmlInput As MSHTML.HTMLInputElement

私はそれのクラス名を持つすべてのものを手にして、個別に、この特定の要素を参照する方法を見つけ出すことができませんでした。

For Each htmlInput In IE.document.getElementsByClassName("qm_historyTab_GoButton") If Trim(htmlInput.Type) = "submit" Then htmlInput.Click Exit For End If Next htmlInput

それから私は、直列に各アイテムをプログラムサイクルを持っていたし、提出し、応答を送信します。これがクラス名の唯一のものだったので、私は運が良かった。

とにかく、それが私が問題を解決した方法です。

1

はこれを試してみてください:

IE.document.getElementsByTagName("button") _ 
    .getelementsByClassName("qm_historyTab_GoButton")(0).Click 

getXXX方法の両方がコレクションを返します(たとえドキュメント内に1つの一致があっても)単一の項目fr目的は、フォームを送信する場合、これはまた

IE.document.getElementById("qm_historyForm_7871").submit 

かで一つだけのボタンがありますように動作します:最後の1 OMそれをクリックするために、あなたは(0)

EDITを追加する必要がありますそのクラス名:

IE.document.getElementsByClassName("qm_historyTab_GoButton")(0).Click 
+0

を参照してくださいそれでも動作しません。それは私に "実行時エラー '408':オブジェクトがプロパティまたはメソッドをサポートしていないことを示します"。あなたが提供した正確な行を使用しています。 'IE.document.getElementsByTagName(" button ")_ 。getelementsByClassName( "qm_historyTab_GoButton")(0).Click'ウェブサイトはhttps://web.tmxmoney.com/pricehistory.php?qm_symbol=CMです。ボタンは次のとおりです: ''タイプを提出すると、クリック機能は機能しませんが、わかりません – Sheldon

関連する問題