Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在excel工作簿中存储xml_Xml_Vba_Excel - Fatal编程技术网

在excel工作簿中存储xml

在excel工作簿中存储xml,xml,vba,excel,Xml,Vba,Excel,我在.xml文件中定义了一些数据。我需要创建一个Excel工作簿,根据该文件中包含的信息提供一些函数。XML数据必须放在那个Excel文件中——也就是说,它不能放在一个单独的文件中(因此以后可以保留.xlsx文件而不保留.XML) 所以我想创建如下内容: sub Load() 'this function is called once, and after it was called the .xml file is no longer required' fName = "some pa

我在.xml文件中定义了一些数据。我需要创建一个Excel工作簿,根据该文件中包含的信息提供一些函数。XML数据必须放在那个Excel文件中——也就是说,它不能放在一个单独的文件中(因此以后可以保留.xlsx文件而不保留.XML)

所以我想创建如下内容:

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对象嵌入到Excel文件中。然而,在数据(作为字符串)表单文件被嵌入之后,我找不到读取它的方法


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

您可以使用CustomXMLParts对象执行此操作

请参见
或对象浏览器

谢谢!这正是我需要的,