Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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-使用VBA添加样式表引用_Xml_Excel_Vba_Xslt_Openxml - Fatal编程技术网

excel和xml-使用VBA添加样式表引用

excel和xml-使用VBA添加样式表引用,xml,excel,vba,xslt,openxml,Xml,Excel,Vba,Xslt,Openxml,我正在使用OpenXML将XML导入并转换为Excel: Workbooks.OpenXML Filename:=sPath, Stylesheets:=Array(1) 在XML文档中,我插入了样式表引用(因为它们不存在): 谢谢。肖恩。考虑直接将XSLT应用于XML,然后导入生成的XML。召回XSLT是一种特殊用途的语言,设计用于管理XML文档,可以在样式表声明之外使用。VBA配备了使用以下对象的XSLT处理器: <?xml-stylesheet type='text/xsl' hr

我正在使用OpenXML将XML导入并转换为Excel:

Workbooks.OpenXML Filename:=sPath, Stylesheets:=Array(1)
在XML文档中,我插入了样式表引用(因为它们不存在):


谢谢。肖恩。

考虑直接将XSLT应用于XML,然后导入生成的XML。召回XSLT是一种特殊用途的语言,设计用于管理XML文档,可以在样式表声明之外使用。VBA配备了使用以下对象的XSLT处理器:

<?xml-stylesheet type='text/xsl' href='STIG_ckl.xsl'?>
Workbooks.OpenXML Filename:=sPath, Stylesheets:=sPathToXSL
Sub XSLTransform()

   ' SET VBA REFERENCE MSXML v3, v6'
   Dim xmldoc As New MSXML2.DOMDocument 
   Dim xslDoc As New MSXML2.DOMDocument 
   Dim newDoc As New MSXML2.DOMDocument

   ' LOAD XML AND XSL FILES '
   xslDoc.async = False
   xmlDoc.Load "C:\Path\To\InputXML.xml"

   xslDoc.async = False    
   xslDoc.Load "C:\Path\To\XSLT_Script.xml"        

   ' TRANSFORM XML '
   xmldoc.transformNodeToObject xslDoc, newDoc

   ' SAVE OUTPUT '
   newDoc.Save "C:\Path\To\OutputXML.xml"

   Workbooks.OpenXML Filename:="C:\Path\To\OutputXML.xml"

End Sub