我再解释一下。我有个函数的参数是textbox,我想把生成的textbox传进去怎么传? private sub mtd(byref tb as textbox)end sub ActiveSheet.OLEObjects.Add方法返回来得是oleobject型,传不进去,后者说怎么进行类型转换?
Private Sub CommandButton1_Click() ActiveSheet.OLEObjects.Add ClassType:="Forms.combobox.1", Link:=False, DisplayAsIcon:=False, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=ActiveCell.Width, Height:=ActiveCell.Height End SubPrivate Sub mtd(ByRef obj As OLEObject) ActiveSheet.OLEObjects(obj.Name).Object.List = Array(1, 2, 3, 4, 5) MsgBox ActiveSheet.OLEObjects(obj.Name).Object.ListCount End SubPrivate Sub CommandButton2_Click() Dim ctl As OLEObject For Each ctl In Worksheets("Sheet1").OLEObjects If ctl.Name = "ComboBox1" Then mtd ctl Next End Sub
Set myCmb = Form1.Controls.Add("vb.ComboBox", "cmbName"
你想在哪里添加控件?以上Form1 为你需要往其上面添加控件的窗体。
set obj = ActiveSheet.OLEObjects.Add(......
不好用。
其实我主要是想对加上去的控件,进行操作!!!谢谢。
private sub mtd(byref tb as textbox)end sub
ActiveSheet.OLEObjects.Add方法返回来得是oleobject型,传不进去,后者说怎么进行类型转换?
ActiveSheet.OLEObjects.Add ClassType:="Forms.combobox.1", Link:=False, DisplayAsIcon:=False, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=ActiveCell.Width, Height:=ActiveCell.Height
End SubPrivate Sub mtd(ByRef obj As OLEObject)
ActiveSheet.OLEObjects(obj.Name).Object.List = Array(1, 2, 3, 4, 5)
MsgBox ActiveSheet.OLEObjects(obj.Name).Object.ListCount
End SubPrivate Sub CommandButton2_Click()
Dim ctl As OLEObject
For Each ctl In Worksheets("Sheet1").OLEObjects
If ctl.Name = "ComboBox1" Then mtd ctl
Next
End Sub