Sto cercando di importare i dati XML in Excel .. Così la prima riga del codice èDichiarare oggetto MSXML precoce legato genera un errore in VBA
Dim XMLDOC As MSXML2.DOMDocument
e questo dà un errore "definito dall'utente tipo non definito"
Sto cercando di importare i dati XML in Excel .. Così la prima riga del codice èDichiarare oggetto MSXML precoce legato genera un errore in VBA
Dim XMLDOC As MSXML2.DOMDocument
e questo dà un errore "definito dall'utente tipo non definito"
All'interno del VBE, andare in Strumenti -.> Riferimenti, quindi selezionare Microsoft XML, v6.0 (o qualunque sia il vostro ultimo è Questo vi darà accesso alla libreria di oggetti XML
aggiornati. con ventilatore cy pic!
Grazie! Questo mi stava facendo impazzire. E la foto elegante suggella l'affare. – RossC
dannazione ancora usando windows xp: | – user734028
Come nota a margine, se si utilizza Windows 8, potrebbe essere necessario fare riferimento a Microsoft XML v3 poiché v6 non espone la classe DOMDocument. Vedi thread http://social.technet.microsoft.com/Forums/en-US/f9180e5c-7c2f-44be-8415-d0d2b76e3f7f/microsoft-xml-v60-msxml6dll-and-vba –
ho avuto DOMDocument
definito che aveva bisogno di Microsoft XML, v3.0
ma ho avuto Microsoft XML, v6.0
selezionato di riferimenti che hanno causato l'errore sotto
"utente tipo definito non definito".
La soluzione
La soluzione era cambiare sia DOMDocument
a DOMDocument60
(60 usi ver 6.0) oppure utilizzare il riferimento Microsoft XML, v3.0
con DomDocument
.
Ho scoperto che ogni volta che gli utenti dovevano riavviare Excel, se "DOMDocument" viene utilizzato in Windows10, MS XML, v3.0 selezionato tornerà alla v6.0. Il percorso migliore è usare IMHO 'DOMDocument60'. – CarloC
Io lavoro con una macro Excel VBA che qualcun altro ha scritto e sono stato incaricato di risolverlo dopo l'aggiornamento da Windows 7/Office 2010 a Windows 10/Office 2016. Ho iniziato a ricevere lo stesso "tipo definito dall'utente non definito "errore di compilazione. La mia installazione precedente aveva anche MS XML v6.0 ma a quanto pare devi indicare specificamente questa versione nel tuo codice su Windows 10 e/o Office 2016 (non ero in grado di confermare quale aggiornamento ha causato il problema). Sono stato in grado di risolvere il problema facendo un Trova/Sostituisci dal seguente:
"DOMDocument" to "MSXML2.DOMDocument60"
"XMLHTTP" to "MSXML2.XMLHTTP60"
In aggiunta a quanto [Scott] (http://stackoverflow.com/a/11245915/190829) hanno suggerito, si potrebbe ' Dim ... As Object' ed evita il problema di binding anticipato. – JimmyPena
Si prega di contrassegnare la risposta di Scott Holtzman come corretta. –