2010-02-23 73 views
3

我有一個XSD文件,其中包含我的XML的模式。 XSD文件包含xs:Enumeration定義,該定義允許我選擇5個選項作爲其中一個節點的值。將XSD中的枚舉轉換爲Excel中的下拉列表

現在,我們希望能夠通過Excel生成這些數據,以便非技術人員可以創建它。

當我將此XSD文件導入到Excel中時,我想要將xs:enumeration值列爲下拉列表。

我該怎麼做?

編輯:開始賞金。爲了獲勝,我需要一個工作示例代碼:)

回答

8

xcut說,有沒有簡單的方法來做到這一點。但這是可以完成的。什麼你需要做的是:

  1. 使用WorkbookAfterXmlImport 事件讀取與MSXML 您的模式爲您的枚舉。
  2. 在您的數據表 表中查找代碼中包含 枚舉的元素的映射列。這通常是ListObject
  3. 將這些枚舉添加到列表中 Validation.InCellDropdown到您的 映射列範圍減去 標題。
2

昨天我幾次看到這個問題,並沒有回答,部分原因是沒有快速解決你想做的事情。

對於你想要實現的目標,你有點不清楚:將Excel中的枚舉導出爲Schema,或將枚舉從Schema導入Excel,或者往返。

如果你願意保持您的電子表格爲「主」副本,那麼你可以做到以下幾點:

  • 主要在Excel中枚舉(如A欄有一個類型名稱,並在B列的行有值)
  • 定期,當你需要,擊中了XML的電子表格上的「另存爲...」 XML電子表格
  • 運行XSLT生成模式文件

嗯,這是一個想法,至少 : )或者,您可以在其中編寫VBA代碼。

+0

我想將XML模式導出到Excel。用你的話來說,XML Schema是主拷貝。 在我的主XML模式中,我有一個XSD枚舉......當我將該枚舉添加爲XML映射時,該單元應該是列出所有枚舉的下拉列表 – ashwnacharya

+0

如果您願意,您仍然可以在XSLT中執行此操作去體驗。使用下拉框設置電子表格;將電子表格保存爲XML(XML電子表格)。在編輯器中打開它。然後創建一個樣式表,將模式轉換爲看起來像保存的文件。 – xcut