有人知道如何将
ArrayList
添加到用户表单中的 ListBox
中吗?
我已在 UserForm1
模块中尝试过此代码,但当 UserForm1
窗口打开时,它不会显示任何内容。
Public Sub here()
Dim MyList As Object
Set MyList = CreateObject("System.Collections.ArrayList")
MyList.Add "Item1"
MyList.Add "Item2"
MyList.Add "Item3"
UserForm1.ListBox1.List = MyList
End Sub
我读过一些文章,我知道我需要激活
mscordlib.dll
库,但我不知道我还能做些什么来使其工作。
编辑
这是带有实际程序的用户表单:
经过调整后,这对我来说效果很好
MyList.Array
..
就像 FaneDuru 所说,你需要以某种方式触发你的潜艇;在本例中,我使用了用户窗体的单击事件。要显示这 3 个项目,唯一需要做的就是单击表单,瞧。 通常,您希望将其链接到表单上或用户表单初始化中的按钮(该按钮的单击事件),如下所示:
Private Sub UserForm_Initialize()
here2
End Sub
Private Sub here2()
Dim MyList As Object
Set MyList = CreateObject("System.Collections.ArrayList")
MyList.Add "Item1"
MyList.Add "Item2"
MyList.Add "Item3"
MyList.Add "Yes!"
UserForm1.ListBox1.List = MyList.ToArray
End Sub
UserForm1
模块
Private Sub UserForm_Initialize()
Me.ListBox1.List = GetListboxData
End Sub
标准模块
Module1
Function GetListboxData() As Variant
Dim MyList As Object: Set MyList = CreateObject("System.Collections.ArrayList")
MyList.Add "Item1"
MyList.Add "Item2"
MyList.Add "Item3"
GetListboxData = MyList.ToArray
End Function
Sub ShowForm()
With New UserForm1
.Show
' Continue with your code...
End With
End Sub