XslCompiledTransform – 使用XSLT样式表转换XML时编译错误

我正在尝试在Excel中创build一个工作表,并使用VBA创build一个XML文档,然后使用XSLT样式表转换该文档。

我已经包含了下面的代码,直到我遇到问题。

当我尝试创build一个像这样的对象:

Dim transformer As XslCompiledTransform ' transform document 

我得到这个错误:

 Compile Error: User defined type - not defined 

我以前在定义时遇到这个错误

 Dim objDom As DOMDocument 

但是引用这个问题为我解决了这个问题。 不过,在这种情况下,我找不到任何类似的东西。

有人可以向我解释是否有一个我需要包括的参考资料,以及如何在未来find这些资料?

注意:我在Excel 2003中使用Visual Basic编辑器创build此VBAmacros

 Sub CreateXML() 'Variable to hold all rows in excel file Dim rows As Variant 'Variables used to iterate through row array Dim i As Integer Dim j As Integer 'Create objects for manipulating XML Dim objDom As DOMDocument Dim objXMLRootelement As IXMLDOMElement Dim objXMLelement As IXMLDOMElement Dim objXMLattr As IXMLDOMAttribute 'Represents the top level of the XML source Set objDom = New DOMDocument '~~> Creates root element Set objXMLRootelement = objDom.createElement("Project") objDom.appendChild objXMLRootelement '~~> Saves XML data to a file objDom.Save ("C:\Users\JSLAMKIN\Desktop\test.xml") 'Create an instance of the DOMDocument class: Dim xDoc As DOMDocument Set xDoc = New DOMDocument 'Create the file as output Dim output As DOMDocument Dim transformer As XslCompiledTransform ' transform document ... 

XslCompiledTransform是一个.NET类,不会出现在可以被VBA引用的“MSXML,v6.0”库中

有关如何使用“MSXML,v6.0”库执行XSLT转换的详细信息在这里

而且, DOMDocument是来自“MSXML,v3.0”的较老的DOMDocument30types的同义词。 “MSXML,v6.0”的正确types是DOMDocument60 。 关于这是为什么的详细情况在这里