vba实现树型结构

时间:2022-05-18 13:46:56
有没有用vba实现树型结构的例子啊
我需要的是
每一个节点都可以有多个子节点,每一个节点都只能有一父节点。
各位大哥大姐帮忙下,帮想个思路也行。

8 个解决方案

#1


Microsoft TreeView Control啊。。

#2


支持楼上... ...

#3


怎么用啊。我不会啊

#4


这可不是1、2句就能讲明白的,建议找相关的资料看看先

#5


我就想用tree结构来存储数据,难道就一定要用那个控件才行吗?

#6


我写了一个简单的实例,你自己去研究吧.
Private Sub UserForm_Initialize()
    Dim D
    Dim F
    Dim Z
    D = Array("中国", "美国")
    F = Array("江西省", "浙江省", "广西", "广东省")
    For I = 1 To 2
        TreeView1.Nodes.Add , , D(I - 1), D(I - 1)
    Next I
    For I = 1 To 4
        M = F(I - 1)
        '注意4个参数不清 TreeView1.Nodes.Add 1-父节点名称,2-选项,3-节点名称,4-节点显示名称
        TreeView1.Nodes.Add D(0), 4, M, M
        Select Case I - 1
            Case Is = 0
                Z = Array("南昌", "九江", "景德镇", "上饶", "抚州", "赣州")
                N = 6
            Case Is = 1
                Z = Array("宁波", "温州", "台州", "杭州", "金华", "嘉庆")
                N = 6
            Case Is = 2
                Z = Array("柳州", "南宁", "北海")
                N = 3
            Case Is = 3
                Z = Array("佛山", "广州")
                N = 2
        End Select
        For J = 1 To N
            TreeView1.Nodes.Add M, 4, Z(J - 1), Z(J - 1)
        Next J
    Next I
End Sub

#7


引用 5 楼 zkb9604 的回复:
我就想用tree结构来存储数据,难道就一定要用那个控件才行吗?


可以参考一下我的OBS, http://www.chinaobs.com/

#8


用treeview, 最好的办法了

#1


Microsoft TreeView Control啊。。

#2


支持楼上... ...

#3


怎么用啊。我不会啊

#4


这可不是1、2句就能讲明白的,建议找相关的资料看看先

#5


我就想用tree结构来存储数据,难道就一定要用那个控件才行吗?

#6


我写了一个简单的实例,你自己去研究吧.
Private Sub UserForm_Initialize()
    Dim D
    Dim F
    Dim Z
    D = Array("中国", "美国")
    F = Array("江西省", "浙江省", "广西", "广东省")
    For I = 1 To 2
        TreeView1.Nodes.Add , , D(I - 1), D(I - 1)
    Next I
    For I = 1 To 4
        M = F(I - 1)
        '注意4个参数不清 TreeView1.Nodes.Add 1-父节点名称,2-选项,3-节点名称,4-节点显示名称
        TreeView1.Nodes.Add D(0), 4, M, M
        Select Case I - 1
            Case Is = 0
                Z = Array("南昌", "九江", "景德镇", "上饶", "抚州", "赣州")
                N = 6
            Case Is = 1
                Z = Array("宁波", "温州", "台州", "杭州", "金华", "嘉庆")
                N = 6
            Case Is = 2
                Z = Array("柳州", "南宁", "北海")
                N = 3
            Case Is = 3
                Z = Array("佛山", "广州")
                N = 2
        End Select
        For J = 1 To N
            TreeView1.Nodes.Add M, 4, Z(J - 1), Z(J - 1)
        Next J
    Next I
End Sub

#7


引用 5 楼 zkb9604 的回复:
我就想用tree结构来存储数据,难道就一定要用那个控件才行吗?


可以参考一下我的OBS, http://www.chinaobs.com/

#8


用treeview, 最好的办法了