मैं एक्सेल में XML डेटा आयात करने की कोशिश कर रहा हूँ में एक त्रुटि फेंकता है .. तो कोड की पहली पंक्तिघोषणा जल्दी बाध्य MSXML वस्तु VBA
Dim XMLDOC As MSXML2.DOMDocument
है और यह एक त्रुटि देता है "उपयोगकर्ता परिभाषित परिभाषित नहीं प्रकार "
मैं एक्सेल में XML डेटा आयात करने की कोशिश कर रहा हूँ में एक त्रुटि फेंकता है .. तो कोड की पहली पंक्तिघोषणा जल्दी बाध्य MSXML वस्तु VBA
Dim XMLDOC As MSXML2.DOMDocument
है और यह एक त्रुटि देता है "उपयोगकर्ता परिभाषित परिभाषित नहीं प्रकार "
VBE के अंदर, टूल्स में जाएँ -।> संदर्भ है, तो Microsoft XML, v6.0 का चयन करें (या जो भी अपने नवीनतम है यह आप XML वस्तु लाइब्रेरी तक पहुंच हासिल होगी
अपडेट किया गया। प्रशंसक के साथ साइ तस्वीर!
धन्यवाद! यह मुझे पागल गाड़ी चला रहा था। और फैंसी तस्वीर सौदा सील करता है। – RossC
अभी भी विंडोज एक्सपी का उपयोग कर लानत: | – user734028
एक साइड नोट के रूप में, यदि आप विंडोज 8 पर हैं, तो आपको माइक्रोसॉफ्ट एक्सएमएल v3 को संदर्भित करने की आवश्यकता हो सकती है क्योंकि v6 DOMDocument क्लास का पर्दाफाश नहीं करता है। थ्रेड देखें http://social.technet.microsoft.com/Forums/en-US/f9180e5c-7c2f-44be-8415-d0d2b76e3f7f/microsoft-xml-v60-msxml6dll-and-vba –
मैं DOMDocument
परिभाषित जो Microsoft XML, v3.0
की जरूरत थी, लेकिन मैं Microsoft XML, v6.0
संदर्भ जो नीचे त्रुटि
"उपयोगकर्ता परिभाषित प्रकार नहीं परिभाषित" की वजह से में चयनित किया था।
समाधान
समाधान या तो (6.0 ver 60 का उपयोग करता है) DOMDocument
DOMDocument60
को बदलने के लिए या DomDocument
साथ Microsoft XML, v3.0
संदर्भ का उपयोग किया गया था।
मैंने पाया कि किसी भी समय उपयोगकर्ताओं को एक्सेल रीबूट करना था, यदि Windows10 में 'DOMDocument' का उपयोग किया जाता है, तो एमएस एक्सएमएल, v3.0 चयनित v6.0 पर वापस जायेगा। बेहतर मार्ग 'DOMDocument60' IMHO का उपयोग करना है। – CarloC
मैं एक वीबीए एक्सेल मैक्रो के साथ काम करता हूं जिसे किसी और ने लिखा था और मुझे हाल ही में विंडोज 7/ऑफिस 2010 से विंडोज 10/ऑफिस 2016 तक अपग्रेड करने के बाद इसे ठीक करने के लिए काम किया गया था। मुझे वही "उपयोगकर्ता परिभाषित प्रकार परिभाषित नहीं किया गया "संकलन त्रुटि। मेरे पिछले इंस्टॉलेशन में एमएस एक्सएमएल v6.0 भी था, लेकिन जाहिर है कि आपको विशेष रूप से विंडोज 10 और/या ऑफिस 2016 पर अपने कोड में इस संस्करण को इंगित करना होगा (मैं यह पुष्टि करने में सक्षम नहीं था कि किस अपग्रेड ने समस्या उत्पन्न की है)। मैं/एक ढूँढें करके समस्या को हल करने पर निम्नलिखित बदलें करने में सक्षम था:
"DOMDocument" to "MSXML2.DOMDocument60"
"XMLHTTP" to "MSXML2.XMLHTTP60"
के लिए क्या [स्कॉट] इसके अतिरिक्त (http://stackoverflow.com/a/11245915/190829) ने सुझाव दिया है, तो आप कर सकते थे ' मंद ... ऑब्जेक्ट के रूप में और प्रारंभिक बाध्यकारी मुद्दे से बचें। – JimmyPena
कृपया स्कॉट होल्ट्ज़मैन के उत्तर को सही के रूप में चिह्नित करें। –