से विशेषता स्ट्रिंग मान प्राप्त करें मैं vba का उपयोग कर वेबसाइट से डेटा निकालने के लिए एक मैक्रो बना रहा हूं। वर्तमान में मैं 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")
पर। क्या कोई मेरी मदद कर सकता है?
धन्यवाद। हालांकि, ऐसा लगता है कि यह भी काम नहीं कर रहा है। यह कहा गया "रन-टाइम त्रुटि '9 1: ऑब्जेक्ट वेरिएबल या ब्लॉक वैरिएबल के साथ" डेटाअरे (i, j) = imgObj (1) .getAttribute ("title") के लिए सेट नहीं है। क्या कोई अन्य कारण है? –
मुझे लगता है कि IXMLDOMNodeList शून्य-आधारित है इसलिए 'imgObj (0) .getAttribute ("title")' – barrowc
@barrowc - अच्छी पकड़ लें। मैं कभी याद नहीं कर सकता कि 0 क्या है- और 1-आधारित क्या है ... –