在Excel工作簿中存储xml

我在.xml文件中定义了一些数据。 我需要创build一个Excel工作簿,根据该文件中包含的信息提供一些function。 XML数据必须放置在该Excel文件中,即不能放入单独的文件(所以之后可以保留.xlsx文件而不包含.xml)。

所以我想创build这样的东西:

sub Load() 'this function is called once, and after it was called the .xml file is no longer required' fName = "some path to data.xml" ActiveSheet.OLEObjects.Add(Filename:=fName) End Sub 'Does not open external .xml file' Sub SomeFunction() Dim data As MSXML2.DOMDocument Set data = New MSXML2.DOMDocument data.Load(ActiveWorkbook.OLEObjects(1)) 'Load method can not be called like that' ' parse the data' End Sub 

我看到的方式是.xml文件应作为OLE对象embedded到Excel文件中。 然而,我不能find一种方式来读取embedded后的数据(string)forms的文件。

我知道使用MSXML2可以读取存储在外部文件(MSXML2.DOMDocument.Load方法)中的.xml文件,以便可以进行分析。 是否有可能使用MSXML2对象来打开embedded式文档? 还是有其他的方法来存储外部XML结构的工作簿?

您可以使用CustomXMLParts对象执行此操作
请参阅https://msdn.microsoft.com/en-us/library/office/ff863162.aspx
或对象浏览器