Hallo,
ich habe ein Problem und hoffe, dass mir hier jemand helfen kann.
Ich nutze FreeMind zur Erstellung von MindMaps. Dabei kann man unter anderem jedem Knoten einer MindMap ein Icon zuordnen. Ich möchte nun mit Hilfe einer Liste, jedem Knoten, der auch auf der Liste steht, solch ein Icon zuordnen
Bsp.:
Meine Liste:
Geschwindigkeit
Gesellschaft
Gespräche
Gesundheit
MindMap-XML:
Gesellschaft kommt in beiden vor, also soll das Icon eingefügt werden mit
Ich hoffe mir kann jemand helfen. Meine Liste mit Wörtern hat über 1300 Einträge, was für manuelles Einfügen leider viel zu viel ist.
Option Explicit
Dim MindMap As MSXML2.DOMDocument60
Public Sub XMLAnalyze()
Set MindMap = New MSXML2.DOMDocument60
MindMap.validateOnParse = False
If MindMap.Load(„MindMap.mm“) Then
DisplayNodeCitavi MindMap.ChildNodes, 0
Else
MsgBox „Error loading“
End If
MindMap.Save („MindMap verändert.mm“)
End Sub
Public Sub DisplayNodeCitavi(ByRef Nodes As MSXML2.IXMLDOMNodeList, ByVal Indent As Integer)
Static i As Long
Dim xNode As MSXML2.IXMLDOMNode
Dim newNode As IXMLDOMElement
Dim vW As Boolean
Dim Iv As Boolean
Dim Item As IXMLDOMNode
Dim a As Integer
On Error Resume Next
For Each xNode In Nodes
i = i + 1
For a = 2 To 1755 Step 1 'Schlagwort in List vorhanden? Step 1
If xNode.Attributes.getNamedItem(„TEXT“).NodeValue = Cells(a, 1) Then
vW = True
Exit For
Else: vW = False
End If
Next
If xNode.HasChildNodes Then
For Each Item In xNode.ChildNodes 'Icon bereits vorhanden?
If Item.BaseName = „icon“ Then
If Item.Attributes.getNamedItem(„BUILTIN“).NodeValue = „gohome“ Then
Iv = True
Exit For
End If
Else: Iv = False
End If
Next
Else: Iv = False
End If
If vW = True And xNode.BaseName = „node“ And Iv = False Then
Set newNode = MindMap.createNode(NODE_ELEMENT, „icon“, „“)
xNode.appendChild newNode
newNode.setAttribute „BUILTIN“, „gohome“
End If
Next
For Each xNode In Nodes
If xNode.HasChildNodes Then
DisplayNodeCitavi xNode.ChildNodes, Indent + 1
End If
Next
End Sub