Tag: xmlmapper

Excel 2013 – VBA XML绑定在重新启动时断开

我有复杂的XSD。 在Excel开发者中,在XML部分,我可以点击“source”,将XSD添加到数据源图中,然后将节点映射到特定的单元格,行等。 然后我可以input数据并按预期输出XML,很好。 当我重新打开保存的XLS时,奇怪的事情发生了,excel表示我的XML映射被破坏,并要求删除破碎的地图,并显示他认为是错误的一个节点。 但所有选项都是灰色的,我发现的唯一select是通过VBA删除地图, ActiveWorkbook.XmlMaps("JPK_mapa").Delete 但是,当地图被删除时,所有映射都消失了,我必须再次添加地图,并手动执行所有映射。 这对我来说并不困难,但普通用户可能会遇到问题,我只想给他们XLS填充数据。 我不能改变XSD,对它的内容没有任何影响,所以我认为我必须忍受这一点,并教导excel以某种方式删除并重新添加此映射在自动启动。 由于有很多的映射,只是在Excel中的几个点击,我很想logging这是一个macros。 但是当我开始录制时,它不会logging我所做的映射。 Q1:有没有什么办法可以logging制图生成? 还是有办法让这个过程自动化吗? 我也发现有趣的事情。 如果我打开我的map破碎的xlsx作为zip并从其中删除xmlMaps.xml,再次打开xls后,我可以打开XML数据源,当我添加我的xsd时,所有的映射恢复,并正确绑定到单元格xls(标记为粗体在附图中)。 这导致我问问题2。 Q2:有没有办法在VBA中删除映射,当再次添加它会记住映射? 希望你能给我一些build议,谢谢。