2016-04-15 9 views
0

ループを使用して.xmlファイルのノード値を更新しようとしています。SelectSingleNodeを使用したVBAループのXMLノード

示された行は正しく表示されますが、すべてのノードをループして値を更新できるようにコードを変更する方法はわかりません。

ご協力いただければ幸いです。

Set oXMLFile = CreateObject("Microsoft.XMLDOM") 
oXMLFile.Load (ConfigFile) 

'Update Node Attributes 

Dim ii, TotChan As String 
ii = 0 
TotCh = 500 

Do While (ii < TotCh - 1) 


Set CalibrationDateTimeNode=oXMLFile.SelectSingleNode("/HConfig/Signal[0]/CalibrationDateTime") 

CalibrationDateTimeNode.Text = "2016-04-16" 

ii = ii + 1 
Loop 

答えて

1

私はあなたが正確に必要なものはかなりわからないんだけど、XMLノードをループに、これを使用する:

Dim calibrationDateTimeNode As IXMLDOMNode 
Dim colNodes As IXMLDOMNodeList 

Set colNodes = oXMLFile.selectNodes("/HConfig/Signal[0]/...WhateverYouNeed") 
For Each CalibrationDateTimeNode In colNodes 
    CalibrationDateTimeNode.Text = "2016-04-16" 
Next 

SELECTNODESコマンドは、ノードリストをseletことができ、その後、あなたは繰り返すことができ、その要素。 for eachを使うと、do-whileよりもずっと簡単になります。私が間違っていなければ、もっと速く言うことはできません。

+0

ありがとう、それは私が必要としたもので、今はすべて動作します。 – jmjaeckels

関連する問題