2012-11-09 5 views
5

से विशेषता स्ट्रिंग मान प्राप्त करें मैं का उपयोग कर वेबसाइट से डेटा निकालने के लिए एक मैक्रो बना रहा हूं। वर्तमान में मैं obj.getElementsByTagName("td").innerText जैसे तत्व वाक्यविन्यास का उपयोग करके टेबल सामग्री से आसानी से मूल्य प्राप्त कर सकता हूं। हालांकि, जब कुछ कोशिकाओं में कुछ गैर-आंतरिक टेक्स्ट डेटा होते हैं, तो मुझे परेशानी हो रही है।एचटीएमएल

<img src="/images/amber_pending.gif" border="0" alt="Pending" title="Pending"> 

मैं वाक्य रचना मैं दूसरों से पाया का उपयोग कर "शीर्षक" से विशेषता मान निकालने की कोशिश की: यह इस तरह है

For Each tbObj In doc.getElementsByClassName("report removeTdBorder") 
    i = 1 
    For Each trObj In tbObj.getElementsByTagName("tr") 
     If i >= 3 Then 
      j = 1 
      For Each tdObj In trObj.getElementsByTagName("td") 
       If j = 1 Then 
        Set imgObj = tdObj.getElementsByTagName("img") 
        dataArray(i, j) = imgObj.getAttribute("title") 
        Debug.Print imgObj.getAttribute("title") 
        ActiveCell.Offset(0, j) = dataArray(i, j) 
        ActiveCell.Offset(0, j).WrapText = False 
       Else 
        dataArray(i, j) = tdObj.innerText 
        Debug.Print i & ", " & j & ": " & dataArray(i, j) 
        ActiveCell.Offset(0, j) = dataArray(i, j) 
        ActiveCell.Offset(0, j).WrapText = False 
       End If 
       j = j + 1 
      Next tdObj 
      ActiveCell.Offset(1, 0).Activate 
     End If 
     i = i + 1 
    Next trObj 
Next tbObj 

लेकिन इस पर हर बार कोड त्रुटि चला जाता है और यह कहा "रन-टाइम त्रुटि '438': ऑब्जेक्ट इस संपत्ति या विधि का समर्थन नहीं करता है "लाइन dataArray(i, j) = imgObj.getAttribute("title") पर। क्या कोई मेरी मदद कर सकता है?

उत्तर

5
Set imgObj = tdObj.getElementsByTagName("img") 

छवियों का एक संग्रह (भले ही केवल एक ही पाया जा सकता है) देता है, तो आप का उपयोग कर एक विशिष्ट छवि पता कर सकते हैं (उदाहरण के लिए): मदद करने के लिए

dataArray(i, j) = imgObj(0).getAttribute("title") 
+0

धन्यवाद। हालांकि, ऐसा लगता है कि यह भी काम नहीं कर रहा है। यह कहा गया "रन-टाइम त्रुटि '9 1: ऑब्जेक्ट वेरिएबल या ब्लॉक वैरिएबल के साथ" डेटाअरे (i, j) = imgObj (1) .getAttribute ("title") के लिए सेट नहीं है। क्या कोई अन्य कारण है? –

+2

मुझे लगता है कि IXMLDOMNodeList शून्य-आधारित है इसलिए 'imgObj (0) .getAttribute ("title")' – barrowc

+0

@barrowc - अच्छी पकड़ लें। मैं कभी याद नहीं कर सकता कि 0 क्या है- और 1-आधारित क्या है ... –