几个月来,我的所有电子表格都出现了这个反复出现的问题。电子表格将正常工作并导入从我们的网站获取的xml文件,然后突然它会在导入时每次都开始崩溃。解决它的唯一方法是获取所有内容(工作表,代码,引用)并将它们放入一个新的工作簿中。
这是崩溃的线。
ActiveWorkbook.XmlImport URL:=l_strXMLFileName, _
ImportMap:=Nothing, Destination:=Sheets("Imported Data").Range("$A$1")
有人有这个问题吗?如果是这样,有没有更好的方法来防止它崩溃?
答案 0 :(得分:5)
我在找到答案之后发布了这个问题只是因为这对我来说是一场灾难,并且困扰了我好几个月。希望这篇文章会让别人像我这么长时间一样脱掉头发。
修复非常简单。每次excel导入xml文件时会发生什么,它会在该电子表格中存储xmlmap。因此,如果您使用相同的电子表格并继续保存,这些会随着时间的推移而逐渐增加。我找到的最好的解决方案是删除这些xml映射,或重用相同的映射(后者不是很好的选择)。
以下是一些删除所有代码的代码(我只是在我的问题中包含的代码之前运行此代码):
Dim XmlMap as XmlMap
For Each XmlMap In ActiveWorkbook.XmlMaps
XmlMap.Delete
Next
答案 1 :(得分:-1)
输入XML是否有可能包含一些非法/非转义字符?