[英]excel and xml - Add Stylesheet Reference with VBA
我正在使用OpenXML導入XML並將其轉換為Excel:
Workbooks.OpenXML Filename:=sPath, Stylesheets:=Array(1)
在XML文檔中,我正在插入樣式表引用(因為它們不存在):
<?xml-stylesheet type='text/xsl' href='STIG_ckl.xsl'?>
但是,我想認為有一種使用樣式表的方法,而不必將其包含在XML文檔本身中。
使用OpenXML,“ Array(1)”使用XML中第一個引用的樣式表。
但我想給它一個樣式表,該樣式表與XML中的樣式表完全分開,例如:(但這不起作用)
Workbooks.OpenXML Filename:=sPath, Stylesheets:=sPathToXSL
謝謝。 肖恩
考慮將XSLT直接應用於XML,然后導入結果XML。 回顧XSLT是一種專用語言,旨在處理XML文檔,並且可以在樣式表聲明之外使用。 VBA配備了使用MSXML對象的XSLT處理器:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.