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?
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?