将xs:XSD中的枚举转换为Excel中的下拉列表

时间:2010-02-23 18:18:11

标签: xml excel xsd

我有一个XSD文件,其中包含我的XML架构。 XSD文件包含xs:Enumeration定义,允许我在5个选项中选择作为其中一个节点的值。

现在,我们希望能够通过Excel生成此数据,以便非技术人员可以创建它。

当我将此XSD文件导入Excel时,我希望将xs:enumeration值列为下拉列表。

我该如何做到这一点?

编辑:开始赏金。为了获胜,我需要一个可用的示例代码:)

2 个答案:

答案 0 :(得分:9)

正如xcut所说,没有简单的方法可以做到这一点。但这是可以完成的。你需要做的是:

  1. 使用WorkbookAfterXmlImport 使用MSXML读取架构的事件 为你的枚举。
  2. 在数据中查找映射列 具有您的元素的表 代码中的枚举。这通常是ListObject
  3. 将这些枚举添加到列表中 Validation.InCellDropdown给你 映射列范围,减去 标题。

答案 1 :(得分:2)

我昨天几次对这个问题进行了一次眼睛调查,并没有回答,部分原因是因为没有快速解决你想要做的事情。

您有点不确定您要实现的目标:将Excel中的枚举作为架构导出,或将架构中的枚举导入Excel,或者往返。

如果您愿意将电子表格维护为“主”副本,则可以执行以下操作:

  • 主要显示Excel中的枚举(例如,列A具有类型名称,列B中的行具有值)
  • 定期,当您需要时,点击“另存为...”XML电子表格
  • 在XML电子表格上运行XSLT以生成架构文件

嗯,这是一个想法,至少:)或者,您可以在其中编写VBA代码。