Question

Je rencontre ce problème récurrent avec toutes mes feuilles de calcul depuis des mois. La feuille de calcul fonctionnera correctement et importera les fichiers XML extraits de notre site Web, puis tout d’un coup, elle commencera à se bloquer à chaque importation. La seule solution consiste à prendre tout le contenu (feuilles, code, références) et à le déposer dans un nouveau classeur.

C’est la ligne sur laquelle il tombe en panne.

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

Quelqu'un at-il eu ce problème? Si tel est le cas, y a-t-il un meilleur moyen de l'empêcher de s'écraser ??

Était-ce utile?

La solution

J'ai posté cette question après avoir trouvé la réponse simplement parce que c'était un tel désastre pour moi et que cela me tourmentait depuis des mois. Espérons que cet article empêchera les autres d’arracher leurs cheveux comme je le faisais depuis si longtemps.

Le correctif est assez simple. Ce qui se passe, c’est que chaque fois que Excel importe un fichier XML, il stocke une XMLmap dans cette feuille de calcul. Donc, si vous utilisez la même feuille de calcul et continuez à la sauvegarder, celle-ci s'accumule avec le temps. La meilleure solution que j'ai trouvée consiste à simplement supprimer ces cartes xml ou à les réutiliser (cette dernière n'est pas une bonne option plusieurs fois).

Voici du code pour tous les supprimer (je viens de l'exécuter avant le code que j'ai inclus dans ma question):

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

Autres conseils

Existe-t-il un risque que le code XML d'entrée comporte des caractères non autorisés / illégaux?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top