próbuję zaimportować dane XML do programu Excel .. więc pierwsza linia kodu jestDeklarowanie wcześnie związany obiekt MSXML zgłasza błąd w VBA
Dim XMLDOC As MSXML2.DOMDocument
a to daje błąd „zdefiniowane przez użytkownika typu nie zdefiniowano”
próbuję zaimportować dane XML do programu Excel .. więc pierwsza linia kodu jestDeklarowanie wcześnie związany obiekt MSXML zgłasza błąd w VBA
Dim XMLDOC As MSXML2.DOMDocument
a to daje błąd „zdefiniowane przez użytkownika typu nie zdefiniowano”
Wewnątrz VBE, przejdź do Narzędzia -.> Referencje, a następnie wybierz Microsoft XML, v6.0 (lub cokolwiek jest Twój ostatni to da Ci dostęp do biblioteki XML Object
aktualizowana. z wentylatorem cy pic!
Dziękujemy! To doprowadzało mnie do szału. I fantazyjny pic pieczętuje umowę. – RossC
Cholera nadal przy użyciu Windows XP: | – user734028
Na marginesie, jeśli korzystasz z systemu Windows 8, może być konieczne odwołanie się do Microsoft XML v3, ponieważ v6 nie ujawnia klasy DOMDocument. Zobacz wątek http://social.technet.microsoft.com/Forums/en-US/f9180e5c-7c2f-44be-8415-d0d2b76e3f7f/microsoft-xml-v60-msxml6dll-and-vba –
miałem DOMDocument
zdefiniowany które potrzebne Microsoft XML, v3.0
ale miałem Microsoft XML, v6.0
wybrany w odnośnikach, które spowodowały poniżej błąd
„typ zdefiniowany przez użytkownika nie określono”.
Roztwór
Roztwór albo zmienić DOMDocument
do DOMDocument60
(60 zastosowania wersja 6,0) lub poprzez odnośnik Microsoft XML, v3.0
z DomDocument
.
Stwierdziłem, że za każdym razem, gdy użytkownicy musieli ponownie uruchamiać Excel, jeśli w Windows10 użyto 'DOMDocument', wybrany plik MS XML, v3.0 powróciłby do wersji 6.0. Lepszą trasą jest użycie 'DOMDocument60' IMHO. – CarloC
Używam makra VBA Excel, które napisał ktoś inny, a ja miałem zadanie go naprawić po aktualizacji z Windows 7/Office 2010 do Windows 10/Office 2016. Zacząłem otrzymywać ten sam "zdefiniowany przez użytkownika typ nie zdefiniowany "skompiluj błąd. Moja poprzednia instalacja miała również MS XML v6.0, ale najwyraźniej musisz konkretnie wskazać tę wersję w swoim kodzie na Windows 10 i/lub Office 2016 (nie byłem w stanie potwierdzić, która aktualizacja spowodowała problem). Udało mi się rozwiązać problem, wykonując wyszukiwanie/wymienianie następujących elementów:
"DOMDocument" to "MSXML2.DOMDocument60"
"XMLHTTP" to "MSXML2.XMLHTTP60"
Oprócz tego, co zasugerował [Scott] (http://stackoverflow.com/a/11245915/190829), można: Dim ... As Object' i unikaj problemu wczesnego wiązania. – JimmyPena
Proszę zaznaczyć odpowiedź Scotta Holtzmana jako właściwą. –