4

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

这是它崩溃的线路。

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

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

4

2 回答 2

5

我在找到答案后发布了这个问题,只是因为这对我来说是一场灾难,并且困扰了我好几个月。希望这篇文章能防止其他人像我这么久以来那样拔头发。

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

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

Dim XmlMap as XmlMap
    For Each XmlMap In ActiveWorkbook.XmlMaps
        XmlMap.Delete
    Next
于 2009-06-16T16:50:49.840 回答
-1

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

于 2009-06-16T16:48:04.087 回答