VBA + WORD 2003 + vullen van Microsoft Treeview Control 6.0

  • Onderwerp starter Onderwerp starter Int
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Int

Gebruiker
Lid geworden
3 nov 2006
Berichten
7
Ik heb een probleem het vullen van de treeview control.

gebruikte software:
Microsft office 2003
VBA

Uit te voeren acties:
1. KLik op een command button
2. dan krijg je een scherm om de XML_bestand te selecteren.
3. klik op open.
4. de tree view moet gevuld worden met de data van het xml bestand.

Private Sub UserForm_Initialize()
'Set control defaults
With Me
.CommandButton1.Caption = "Close"
.Label1 = vbNullString
.TreeView1.LineStyle = tvwRootLines
End With
End Sub

1.
Private Sub CommandButton2_Click()
Call Open_Excel_File_Thru_VBA

Set XMLDoc = New DOMDocument
XMLDoc.async = False
'XMLDoc.validateOnParse = False
'If validation is not important, skip it

If XMLDoc.readyState = 4 Then
TreeView1.Nodes.Clear
AddNode XMLDoc.documentElement
End If

End Sub

2. + 3.
Private Sub Open_Excel_File_Thru_VBA()

Dim arTemp() As Variant
Dim lRet
On Error GoTo Err_Clr
'deze methode gebruikt open dialog om de bestenden te laten zien
lRet = Application.GetOpenFilename
arTemp = Application.GetOpenFilename(FileFilter:="XML files (*.xml), *.xml", MultiSelect:=True)
If UBound(arTemp) = 0 Then
MsgBox "Select a File Please!!!"
End If
Err_Clr:
If Err <> 0 Then
Err.Clear
Resume Next
End If
End Sub


4.
Private Sub AddNode(ByRef XML_Node As IXMLDOMNode, _
Optional ByRef TreeNode As Node)
Dim xNode As Node
Dim xNodeList As IXMLDOMNodeList
Dim i As Long

If TreeNode Is Nothing Then
Set xNode = TreeView1.Nodes.Add
Else
Set xNode = TreeView1.Nodes.Add(TreeNode, tvwChild)
End If

xNode.Expanded = True

If xNode.Text = "#text" Then
xNode.Text = XML_Node.nodeTypedValue
Else
xNode.Text = "<" + xNode.Text + ">"
End If

Set xNodeList = XML_Node.childNodes
For i = 0 To xNodeList.Length - 1
AddNode xNodeList.Item(i), xNode
Next
End Sub


deze code laat niet die boom zien in treeview control.

hebben jullie enige tips of oplossingen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan