1

Excel でシートを取得し、VBA を使用して XML ドキュメントを作成し、XSLT スタイルシートを使用してそのドキュメントを変換しようとしています。

問題が発生するまで、以下のコードを含めました。

次のようなオブジェクトを作成しようとすると:

Dim transformer As XslCompiledTransform ' transform document

次のエラーが表示されます。

Compile Error: User defined type - not defined

以前、定義時にこのエラーが発生していました

Dim objDom As DOMDocument

しかし、この質問を参照することで、その問題は解決しました。ただし、この場合に似たものは見つかりません。

含める必要がある参照があるかどうか、および将来これらを見つける方法を誰かが説明してもらえますか?

注: Excel 2003 の Visual Basic Editor を使用して、この VBA マクロを作成しています。

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

...
4

1 に答える 1

4

XslCompiledTransformは .NET クラスであり、VBA で参照できる「MSXML、v6.0」ライブラリには表示されません

「MSXML、v6.0」ライブラリで XSLT 変換を実行する方法の詳細はこちら

また、"MSXML, v3.0" からDOMDocumentの古い型の同義語です。DOMDocument30「MSXML、v6.0」の正しいタイプは ですDOMDocument60。この理由の詳細はこちら

于 2013-09-17T21:50:24.590 に答える