Глянул на вскидку:
Я бы делал примерно так:
скорее всего взял бы все параграфы по
<!--shcode--><pre><code class='vb'>Set NodesList = RootDoc.GetElementsByTagName("par")[/CODE]
Потом иду по этим параграфам
<!--shcode--><pre><code class='vb'>If NodesList.NumberOfEntries > 0 Then
Dim Node As NotesDOMElementNode
Dim i As Integer
For i = 1 To NodesList.NumberOfEntries
Set Node = NodesList.GetItem(i)
If Not Node.IsNull Then
'обработка тут
end if
Next[/CODE]
и проверяю находится ли он в ячейке (<!--shcode--><pre><code class='vb'>Node.ParentNode.NodeName = "tablecell"[/CODE])
и есть ли в ней таг, который надо заменять (<!--shcode--><pre><code class='vb'>Instr(Node.FirstChild.NodeValue, "TAG") <> 0[/CODE])
Если есть, то на его месте строил бы сктрутуру hotspota:
<!--shcode--><pre><code class='xml'><doclink document='FAF5C35113AF1081C225761D004283F2' database='C225737800338EDF' description='Hole' server='ZHOPS'/>[/CODE]
А текст бы випиливал.
Как-то так.
Ничё невозможного, но повозится надо.
Вполне возможно, что это не самый оптимальный алгоритм, просто пришёл в голову первым
Можно иди по tablecell например