导入XML崩溃Excel

几个月来,我的所有电子表格都经常出现这个问题。 电子表格将正常工作,并导入从我们的网站获取的XML文件,然后突然它将开始每次导入崩溃。 修复它的唯一方法是将所有内容(工作表,代码,参考)都放到一个新的工作簿中。

这是它崩溃的路线。

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

有没有人有这个问题? 如果是这样,是否有更好的方法来防止它崩溃?

我发现这个问题后,我发现答案只是因为这对我来说是一个灾难,困扰了我好几个月。 希望这篇文章可以让别人像我这么长时间地把头发拉出来。

修复非常简单。 每当excel导入一个xml文件,它会在该电子表格中存储一个xmlmap。 因此,如果您使用同一张电子表格并继续保存,则会随着时间的推移逐渐积累起来。 我发现的最好的解决scheme是只删除这些XML映射,或重复使用相同的(后者不是一个很好的select多次)。

下面是一些代码来删除所有这些(我只是在我的问题中包含的代码之前运行这个):

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

有没有机会inputXML有一些非法/未转义的字符?