2017-09-23 9 views
0

私はクリックしようとしている次のHTMLコードを持っている:VBAのdivをクリックできますか?

<div class="ListItems" style="top: 0px;"> 
    <div class="sf-element-list-box-item sfpc-selected" style="top: 0px; 
    height: 15px; line-height: 15px; width: 192px;" title="(All) 7 values"> 
    (All) 7 values</div> 
    <div class="sf-element-list-box-item" style="top: 15px; height: 15px; 
    line-height: 15px; width: 192px;" title="A">A</div> 
    <div class="sf-element-list-box-item" style="top: 30px; height: 15px; 
    line-height: 15px; width: 192px;" title="C">C</div> 
    <div class="sf-element-list-box-item" style="top: 45px; height: 15px; 
    line-height: 15px; width: 192px;" title="D">D</div> 

私は今、私はいくつかの異なる方法で試してみましたが、リスト項目D.をクリックしようとしていますが、私は私があればわかりません実際にdivをクリックすることができます。それ以来

Set tags = IE.Document.getElementsByTagName("div") 

    For Each tagx In tags 
     If tagx.innerHTML = "D" Then 
      tagx.Click 
     End If 
    Next 

が、私はこれを試した動作しませんでした:私は、.InnerText、または.innerHTMLを.TITLE使用できないことを発見した

For Each x In IE.Document.getElementsByTagName("div") 
      If x.Title = "D" Then 


       x.parentElement.Click 
      Exit For 

     End If 
    Next 

私はこの最初に試してみました。誰かが、それがdivの場合、リスト項目をクリックまたは選択できる方法を知っていますか? .clickが決して実行されないことを意味する私がIF文に入っているとは思わない。あなたは、VBAで fireEvent上でこれを行うことができます

+0

「クリック」のいずれかの行が実行されていますか?ちょっとしたデバッグをして、ここにもう少し詳しい情報を提供する必要があります。 –

+0

@TimWilliamsクリック線は実行されますが、何らかの理由で実際には機能しません。 – jameslennberg

+0

マウスでページ上の "D"を直接クリックすることはできますか、または最初に別のものをクリックする必要がありますか?ページの残りの部分のコンテキストなしでは、提案をするのは難しい –

答えて

0

tagx.FireEvent "onclick" 

これはVBAでのイベントをトリガする方法です。

編集:と確かにinnerHTMLinnerTextを使用することができます。返されるelemntsは、IHTMLElementインタフェースを実装します。 documentationのプロパティがサポートされています。

関連する問題