【问题标题】:Excel VBA - Add an ActiveX TreeView Control to sheet with codeExcel VBA - 将 ActiveX TreeView 控件添加到带有代码的工作表
【发布时间】:2020-12-02 14:34:01
【问题描述】:

我正在尝试在工作表上创建一个 ActiveX TreeView 控件并通过代码对其进行命名。

有趣的是,当我复制工作表时,TreeView 控件不会随之复制,因此我的解决方法是通过代码插入控件。我翻遍了,找不到任何关于用代码创建它的东西。

有人知道怎么做吗?

【问题讨论】:

    标签: excel vba treeview controls activex


    【解决方案1】:

    请尝试下一段代码。仅用于指导您的方法:

    Sub AddTreeControl()
      Dim sh As Worksheet, TrC As OLEObject, TC As Object
      Set sh = ActiveSheet
      Set TrC = sh.OLEObjects.Add(ClassType:="MSComctlLib.TreeCtrl.2", link:=False _
            , DisplayAsIcon:=False, left:=200, top:=70, width:=150, height:= _
            200)
      Set TC = TrC.Object
      With TrC
        .Name = "TreeControlX"
        .Select
      End With
      With TC
        .nodes.Add Key:="item 1", Text:="Parent 1"
        .nodes.Add "item 1", tvwChild, Key:="one", Text:="ITEM 1, Child node 1"
        .nodes.Add "item 1", tvwChild, "two", "ITEM 1, Child node 2"
        
        .nodes.Add Key:="item 2", Text:=" Parent 2"
        .nodes.Add Key:="item 3", Text:=" Parent 3"
      End With
    End Sub
    

    【讨论】:

      【解决方案2】:

      感谢 FaneDuru。

      这是我想出的:

      Sub Test()
      'Create an ActiveX TreeView, assign dimensions, and name
          With Sheets("Sheet1").OLEObjects.Add(ClassType:="MSComctlLib.TreeCtrl.2",_
              Left:=55, Top:=450, Width:=330, Height:=400)
             .Name = "InsertNameHere"
          End With
      End Sub
      

      【讨论】:

        猜你喜欢
        • 2019-01-31
        • 2022-12-19
        • 2018-07-12
        • 2014-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-25
        • 1970-01-01
        相关资源
        最近更新 更多