2016-08-17 14 views
2

ご提供いただけるお手伝いがありましたら、よろしくお願いいたします。ダッシュボードで表示されるデータのビューを変更するために、Excel VBAとのリンクをアクティブにしようとしています。私はログインとナビゲーションのプロセスを実行し、このステップの後に掻き取り要素がスムーズに動くと信じています。私は正しい要素をターゲットにしているとVBAシーケンスを正しく構成していないとは考えていません。Excel Web Scraping - ul上のfireEvent

<div style="width:100%; clear:both"> 
    <ul class="tab_menu clearfix" style="padding-top:5px;"> 
     <li id="site_ti" class="table_tab_item"> 
      <a href="#" onclick="update_table_tab('site'); return false;">By Site</a> 
     </li> 
     <li id="director_ti" class="table_tab_item"> 
      <a href="#" onclick="update_table_tab('director'); return false;">By Director</a> 
     </li> 
     <li id="team_lead_ti" class="table_tab_item"> 
      <a href="#" onclick="update_table_tab('team_lead'); return false;">By Team Manager</a> 
     </li> 
     <li id="consultant_ti" class="table_tab_item"> 
      <a href="#" onclick="update_table_tab('consultant'); return false;">By Consultant</a> 
     </li> 
    </ul> 

私はthusfar無い結果と以下のルーチンを使用している:私は、以下のHTML内の「コンサルタントビュー」トリガーしようとしています

これらはの初めに宣言されています公開サブ:

Public Sub Huddle_Report_Scrape(ObjIE) 
Dim ie As SHDocVw.InternetExplorer 
Dim doc As MSHTML.HTMLDocument 'If you have a reference to the HTML Object Library 
Dim objShell, obj, objInputs, objButtons As Object 

Dim htmldoc As MSHTML.IHTMLDocument 'Document object 

Dim tbl As MSHTML.IHTMLElementCollection 
Dim eleColtr As MSHTML.IHTMLElementCollection 'Element collection for tr tags 
Dim eleColtd As MSHTML.IHTMLElementCollection 'Element collection for td tags 

Dim eleRow As MSHTML.IHTMLElement 'Row elements 
Dim eleCol As MSHTML.IHTMLElement 'Column elements 

Dim Table As MSHTML.HTMLTable 
Dim row As MSHTML.HTMLTableRow 
Dim cell As MSHTML.HTMLTableCell 
Dim col As MSHTML.HTMLTableCol  

以下は私がコンサルタントビューをトリガーするために呼び出す関数です。それはFireEventで働いFireEvent and IE11

+0

「getElementByValue」は何ですか?あなたはそのコードを実行するとどうなりますか? –

+0

ObjPage.Document.getElementByID( "consultant_ti")。getElementsByTagName( "a")(0).Clickを試してください。これでアイテムがクリックされます。 –

+0

これはgetElementByIDと同様に使用されており、Operation Completedプロンプトに実行されますが、タブはアクティブ化されません。 – Strategorm

答えて

0

Function FnConsultantView(ObjPage) 
With ObjPage 

Set li = .getElementByValue("consultant") 
    With li 
     .Focus 
     .FireEvent "onclick" 
    End With 
End With 
MsgBox ("Operation Completed") 

私はまた、多くの幸運ずに、次のポストからの要素を使用しようとしました。

Function FnConsultantView(ObjPage) 
With ObjPage .getElementById ("consultant_ti") .getElementsByTagName("a")(0).FireEvent ("onclick") 
End With MsgBox ("Operation Completed") 
関連する問題