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

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

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

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

我怎么做到这一点?

编辑:开始赏金。 为了赢得,我需要一个工作示例代码:)

正如xcut所说,要做到这一点并不容易。 但这是可以完成的。 你需要做的是:

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

我昨天几次看到这个问题,并没有回答,部分原因是没有快速解决你想做的事情。

您对于要实现的目标有点不清楚:将Excel中的枚举从Schema导出,或将Schema导入到Excel中,或者往返。

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

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

那么,这是一个想法,至less:)或者,你可以写入VBA代码。