2009-06-16 7 views
4

J'ai eu ce problème récurrent avec tous mes feuilles de calcul pendant des mois. La feuille de calcul fonctionnera correctement et importera les fichiers xml récupérés sur notre site Web, puis tout d'un coup, il commencera à se bloquer à chaque fois lors de l'importation. La seule chose qui corrige est de prendre tout le contenu (feuilles, code, références) et les déposer dans un nouveau classeur.Importer des plantages XML Excel

Ceci est la ligne sur laquelle il se bloque.

ActiveWorkbook.XmlImport URL:=l_strXMLFileName, _ 
ImportMap:=Nothing, Destination:=Sheets("Imported Data").Range("$A$1") 

Est-ce que quelqu'un a eu ce problème? Si oui, y a-t-il un meilleur moyen de l'empêcher de s'écraser ??

+0

Quelle est la question? – jitter

+0

est-ce mieux? –

Répondre

5

J'ai posté cette question après avoir trouvé la réponse juste parce que ce fut un tel désastre pour moi, et m'a frappé pendant des mois. Espérons que ce poste gardera quelqu'un d'autre de tirer les cheveux comme je l'ai fait depuis si longtemps.

La correction est assez simple. Ce qui se passe chaque fois qu'Excel importe un fichier xml, il stocke un xmlmap dans cette feuille de calcul. Donc, si vous utilisez la même feuille de calcul et continuez à l'enregistrer, celles-ci s'accumulent avec le temps. La meilleure solution que j'ai trouvé est de supprimer simplement ces cartes xml, ou réutiliser le même (celui-ci n'est pas une bonne option à plusieurs reprises).

Voici un code pour supprimer tous (je viens de lancer ce avant le code que j'inclus dans ma question):

Dim XmlMap as XmlMap 
    For Each XmlMap In ActiveWorkbook.XmlMaps 
     XmlMap.Delete 
    Next 
-1

Y a-t-il une chance que le code XML d'entrée comporte des caractères illégaux/non échappés?

+0

J'ai entendu parler des personnes ayant le même problème avec plantage à cause de la mise en forme ou des caractères non valides. Je pensais que ça pourrait être ça. –

Questions connexes