Excel VBA - 使用代码将 ActiveX TreeView 控件添加到 sheet

Excel VBA - Add an ActiveX TreeView Control to sheet with code

我正在尝试在 sheet 上创建一个 ActiveX TreeView 控件并通过代码命名它。

有趣的是,当我复制 sheet 时,TreeView 控件不会随之复制,所以我的解决方法是通过代码插入控件。我四处寻找,找不到任何关于用代码创建它的信息。

有人知道怎么做吗?

请尝试下一段代码。只为指导您的方法:

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

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