□投稿者/ まきお (1回)-(2009/11/10(Tue) 22:41:00)
|
分類:[.NET 全般]
vb初心者です。ネットを参考にしてコーディングしています。 エクセル2007でxmlファイルを出力するマクロを作成についての質問です。 DOMを使っているのですが名前空間の部分で"読み取り専用のノードを編集しようとしました"というエラーがでます。
コード Dim xmlDoc As MSXML2.DOMDocument Dim xmlPI As MSXML2.DOMProcessingIntroduction Dim xmlNode As MSXML2.DOMNode Dim xmlAttr As MSXML2.DOMAttribute Dim xmStr As String
Set xmlDoc = New MAXML2.DOMDocument Set xmlPI = xmlDOC.appendChild(xmlDoc.createProcessingIntroduction("xml","version=""1.0"",encording=""utf-8""))
Set xmlNode = xmlDoc.appendChild(xmlDoc.createElement("root")) Set xmlAttr = xmlNode.Attributes.setNamedItem(xmlDoc.createAttribute("xmlns")) * xmlAttr.NodeValue = "http://www.・・・" ←ここでエラーがでます Set xmlNode = xmlDoc.appendChild(xmlDoc.createElement("child")) Set xmlNode = xmlDoc.appendChild(xmlDoc.createTextNode("test"))
xmlString = xmlDoc.XML Debug.Print xmlString
xmlDoc.Save("C:\・・・.xml")
属性が"xmlns"や"xmlns:xsi"以外(IDなど)だとエラーが起こらないのですが。
また、*の部分をsetAttributeを使って、 Set xmlNode = xmlNode.setAttribute("xmlns","http://www.・・・") とすると"Functionまたは変数が必要です"というエラーがでます。
不適切な部分もあると思いますが、 わかる方がいらっしゃいましたらよろしくお願いいたします。
以下、出力させたい内容です。 <?xml version="1.0",encording="utf-8"?> <root xmlns="http://www.・・・"> <child>test</child> </root>
最後まで読んでいただきありがとうございました。
|
|