Листинг 4. Формирование Log-файла со свойствами документов
Public Sub DocPropertyToLogXML(ThisDoc As Object)
' Запись информации о закрываемом файле в Log-файл
Dim xmlDoc As DOMDocument
Dim xmlLog As DOMDocument
Dim DocItem As IXMLDOMElement
Dim logFile$
logFile = "d:\logfile.xml" ' имя Log-файла
'
' создаем XMLDOC-объект для текщего документа
Set xmlDoc = DocPropertiesToXML(ThisDoc)
' подключаем его к Log-файлу
' открываем Log-файл
Set xmlLog = New DOMDocument
xmlLog.Load logFile$
If xmlLog.parseError.errorCode <> 0 Then
' файл не был создан, формируем новый
xmlLog.loadXML "<DocLog/>"
End If
Set DocItem = xmlLog.selectSingleNode("//DocLog")
If xmlLog.selectNodes("//DocProperties").Length > 0 Then
' уже есть описания свойств,
' вставляем новое описание сверху
DocItem.InsertBefore _
xmlDoc.documentElement.cloneNode(True), _
DocItem.childNodes(0)
Else ' вставляем первый элемент
DocItem.appendChild xmlDoc.documentElement.cloneNode(True)
End If
xmlLog.Save logFile ' сохраняем
End Sub