2015-11-08 70 views
-1

我想了解如何在VBA中使用getelements在HTML中处理单个td元素的概念,例如,如果我想解决103以下的最后一个td元素,我使用这个代码和它的作品48,只是了解如何解决“td”元素

<div class="instruments_company_summary"> 
     <table class="table-noborders"> 
     <tr> 
      <td class="table_label"> </td> 
      <td> 
      <div class="floatdx" style="padding-bottom:10px"> 
       <div class="floatsx"> 
       <div class="standard-button"> 
        <a href="/it/strumenti/grafico/IT0004781073">Grafico</a>   </div> 
       </div> 
          <div class="floatsx"> 
        <div class="standard-button"> 
        <a href="http://www.eurotlx.com/product-details/IT0004781073.pdf" target="_blank">Scheda</a>    </div> 
       </div> 
            <div class="floatsx"> 
       <div class="standard-button"> 
        <a href="/it/strumenti/dettaglio/csv/IT0004781073">Scarica book</a>   </div> 
       </div> 
      </div> 
      </td> 
     </tr> 
     <tr> 
      <td class="table_label">Isin</td> 
      <td> 
      <div class="floatsx" style="padding-top:4px;">IT0004781073</div> 
      </td> 
     </tr> 
     <tr> 
      <td class="table_label">Descrizione</td> 
      <td>Bpvi 8.5% Sink Sub 28dc18</td> 
     </tr> 
     <tr> 
      <td class="table_label">Prezzi aggiornati al</td> 
      <td>08-11-2015 13:51:45</td> 
     </tr> 
     </table> 

     <table> 
     <tr> 
      <th colspan="2">Book di negoziazione</th> 
     </tr> 
     <tr> 
      <td class="table_label">Var</td> 
      <td>0,10%</td> 
     </tr> 
     <tr> 
      <td class="table_label" style="border:0">Book a 5 livelli</td> 
      <td style="border:0; padding: 10px 0 5px"> 
      <table> 
       <thead> 
       <tr> 
       <th>Q.tà Acquisto</th> 
       <th>Prezzo Acquisto</th> 
       <th>Prezzo Vendita</th> 
       <th>Q.tà Vendita</th> 
       </tr> 
       </thead> 
       <tbody> 
          <tr> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
       </tr> 
          <tr> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
       </tr> 
          <tr> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
       </tr> 
          <tr> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
       </tr> 
          <tr> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
        <td>-</td> 
       </tr> 
          </tbody> 
      </table> 
      </td> 
     </tr> 
     </table> 

     <table> 
     <tr> 
      <th colspan="2">Dati ultimo contratto</th> 
     </tr> 
     <tr> 
      <td class="table_label">Prezzo</td> 
      <td>103,6</td> 
     </tr> 
     <tr> 
      <td class="table_label">Quantità</td> 
      <td>24.000</td> 
     </tr> 
     <tr> 
      <td class="table_label">Data e ora</td> 
      <td>06-11-2015 17:29:41</td> 
     </tr> 
     </table> 

     <table> 
     <tr> 
      <th colspan="2">Dati giornalieri</th> 
     </tr> 
     <tr> 
      <td class="table_label">Prezzo di chiusura</td> 
      <td>103,48</td> 
     </tr> 
+0

这与[我想要获取特定的HTML td标记]有何不同(http://stackoverflow.com/ques蒸发散/ 33586677 /我想做对获得-A-特定HTML的TD-标签)? – Jeeped

+0

Rocco,我们需要知道您是如何访问该html代码的,您是否有任何VBA代码?你使用的是什么库/对象? (可能你会使用InternetExplorer对象或MSXML2库...) –

+0

再看看@JasonK。 – Jeeped

回答

0

现在,经过“来自Prezzo迪chiusura?,我得到的TD元素我想在网页TD号码,但我认为有可能是一个更好的办法以确定td单元格。

Dim W As Worksheet: Set W = ActiveSheet 
    Dim Objie As Object 
    Dim xObj 
    Debug.Print URL 

    Set Objie = CreateObject("InternetExplorer.Application") 
    Objie.Visible = False 

    Objie.Navigate URL 

    While (Objie.Busy Or Objie.ReadyState <> 4) 
     DoEvents 
    Wend 

    Set xObj = Objie.Document.getElementsByTagName("td")(39) 

    W.Range("E" & Index + 1) = xObj.innerText 

    Set xObj = Nothing 
    Objie.Quit 
    Set Objie = Nothing