几个月来,我的所有电子表格都出现了这个反复出现的问题。电子表格将正常工作并导入从我们的网站获取的xml文件,然后突然它会在导入时每次都开始崩溃。解决它的唯一方法是获取所有内容(工作表,代码,引用)并将它们放入一个新的工作簿中。

这是崩溃的线。

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

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

有帮助吗?

解决方案

我在找到答案之后发布了这个问题只是因为这对我来说是一场灾难,并且困扰了我好几个月。希望这篇文章会让别人像我这么长时间一样脱掉头发。

修复非常简单。每次excel导入xml文件时会发生什么,它会在该电子表格中存储xmlmap。因此,如果您使用相同的电子表格并继续保存,这些会随着时间的推移而逐渐增加。我找到的最好的解决方案是删除这些xml映射,或重用相同的映射(后者不是很好的选择)。

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

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

其他提示

输入XML是否有可能包含一些非法/非转义字符?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top