我正在尝试使用Excel VBA创建自定义XML映射。我的XML文件是BookData.xml
:创建自定义XML映射
<?xml version='1.0'?>
<BookInfo>
<Book>
<ISBN>989-0-487-04641-2</ISBN>
<Title>My World</Title>
<Author>Nancy Davolio</Author>
<Quantity>121</Quantity>
</Book>
<Book>
<ISBN>981-0-776-05541-0</ISBN>
<Title>Get Connected</Title>
<Author>Janet Leverling</Author>
<Quantity>435</Quantity>
</Book>
<Book>
<ISBN>999-1-543-02345-2</ISBN>
<Title>Honesty</Title>
<Author>Robert Fuller</Author>
<Quantity>315</Quantity>
</Book>
</BookInfo>
,并在Excel 2013我的VBA代码:
Sub Create_XSD()
Dim StrMyXml As String, MyMap As XmlMap
Dim StrMySchema As String
StrMyXml = "<BookInfo>"
StrMyXml = StrMyXml & "<Book>"
StrMyXml = StrMyXml & "<ISBN>Text</ISBN>"
StrMyXml = StrMyXml & "<Title>Text</Title>"
StrMyXml = StrMyXml & "<Author>Text</Author>"
StrMyXml = StrMyXml & "<Quantity>999</Quantity>"
StrMyXml = StrMyXml & "</Book>"
StrMyXml = StrMyXml & "<Book></Book>"
StrMyXml = StrMyXml & "</ BookInfo >"
' Turn off async loading.
Application.DisplayAlerts = False
' Add the string to the XmlMaps collection.
Set MyMap = ThisWorkbook.XmlMaps.Add(StrMyXml)
Application.DisplayAlerts = True
' Create an empty file and output the schema.
StrMySchema = ThisWorkbook.XmlMaps(1).Schemas(1).XML
Open "C:\Documents\MySchema.xsd" For Output As #1
Print #1, StrMySchema
Close #1
End Sub
这是返回错误:
在线:
Set MyMap = ThisWorkbook.XmlMaps.Add(StrMyXml)
我想了解如何使用VBA构建自定义XML映射的逻辑,以便我可以在另一个(更复杂的)XML文件上使用它。我遵循的代码是here。
那么,如何解决这个错误呢?
删除'“ BookInfo >”' – BruceWayne
中的空格@BruceWayne看起来像MSDN dox需要更新:) –