0

Excel スプレッドシート データを XML にエクスポートする必要があります。これを行うために、WorkSheet_Activate に数行のコードを追加しました。つまり、

Private Sub Worksheet_Activate()

 Dim oMyconnection As Connection
 Dim oMyrecordset As Recordset
 Dim oMyXML As DOMDocument
 Dim oMyWorkbook As String

 Set oMyconnection = New Connection
 Set oMyrecordset = New Recordset
 Set oMyXML = New DOMDocument

 oMyWorkbook = Application.ThisWorkbook.FullName

 oMyconnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                  "Data Source=" & oMyWorkbook & ";" & _
                  "Extended Properties=excel 8.0;" & _
                  "Persist Security Info=False"

 oMyrecordset.Open "Select * from [Sheet1$A1:C100]", oMyconnection, adOpenStatic

 oMyrecordset.Save oMyXML, adPersistXML

 oMyXML.Save (ThisWorkbook.Path & "\Output.xml")

 oMyrecordset.Close
Set oMyconnection = Nothing
Set oMyrecordset = Nothing
Set oMyXML = Nothing

しかし、実行しようとすると、次のようなエラーが発生しますUser-Defined Datatype not found。実際には、行が原因でこのエラーが発生していますDim oMyXML As DOMDocument。参照がありませんか?どんな助けでも大歓迎です。

4

2 に答える 2

1

このスレッドが数か月前のものであることは承知していますが、DOMDocument データ型を使用するには、" Microsoft XML, v6.0 " (またはお持ちの/必要なバージョン) への参照を追加する必要があります。

Dim oMyXML As MSXML.DOMDocument
Set oMyXML = New MSXML.DOMDocument
于 2013-06-27T14:27:40.940 に答える
0

問題は「XML 出力」自体ではなく、Microsoft VBA の奇妙さと適切な ActiveX コンポーネントの参照です。

これらのリンクのいずれかまたは両方を見て、役立つかどうかを確認してください。

于 2013-02-02T06:26:19.847 に答える