Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2029|回复: 6

[已解决]请问大神们,activex控件动态创建,并且绑定事件,有没有哪个可以教我一下

[复制链接]
发表于 2021-10-26 14:46 | 显示全部楼层 |阅读模式
其实这里面一共是有两个问题要解决:1,数据源怎么可以用数组的方式,而不用单元格地址的方式。2,怎么样可以把类的事件也动态地添加到activex控件里面。完成动态地生态也可以执行一些操作。(本例是以动态地创建listbox控件为出发点,解决动态地创建listbox然后完成选择输入到任意单元格里面的工作。)
最佳答案
2021-10-31 16:32
天门白云 发表于 2021-10-31 14:04
Set tebox = ActiveSheet.Shapes.AddOLEObject(ClassType:="Forms.textBox.1", Left:=10, Top:=ActiveCel ...
Sub test()
Set tebox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.textBox.1", Left:=10, Top:=ActiveCell.Top, Width:=100, Height:=200)
    With tebox
        .Name = "文本框1"
        .Object.MultiLine = True
        .Object.Text = "这是创建的一个新的文本框"
        .Activate
    End With
End Sub

求助自动创建activex控件并动态绑定类事件.rar

16.74 KB, 下载次数: 3

发表于 2021-10-30 16:30 | 显示全部楼层
本帖最后由 大灰狼1976 于 2021-10-30 16:32 编辑

附件请参考。另有一个建议,尽量不要每次生成一个控件,而是准备一个控件,用代码控制其显示和隐藏,以及调整显示位置。

求助自动创建activex控件并动态绑定类事件.zip

18.39 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2021-10-31 14:02 | 显示全部楼层
谢谢你,你完美地解决了我的问题,太感谢你了
回复

使用道具 举报

 楼主| 发表于 2021-10-31 14:03 | 显示全部楼层
大灰狼1976 发表于 2021-10-30 16:30
附件请参考。另有一个建议,尽量不要每次生成一个控件,而是准备一个控件,用代码控制其显示和隐藏,以及调 ...

谢谢你,你完美地解决了我的问题,太感谢你了
回复

使用道具 举报

 楼主| 发表于 2021-10-31 14:04 | 显示全部楼层
大灰狼1976 发表于 2021-10-30 16:30
附件请参考。另有一个建议,尽量不要每次生成一个控件,而是准备一个控件,用代码控制其显示和隐藏,以及调 ...

Set tebox = ActiveSheet.Shapes.AddOLEObject(ClassType:="Forms.textBox.1", Left:=10, Top:=ActiveCell.Top, Width:=100, Height:=200)
    With tebox
    .Name = "文本框1"
           Object.MultiLine = True
            .Object.text = "这是创建的一个新的文本框"
            End With
       .Activate
End With
麻烦你帮我看一下这个是用shapes添加的一个activex控件,但是用这个方法添加的控件,写出来的textbox为什么写不进去文本

回复

使用道具 举报

发表于 2021-10-31 16:32 | 显示全部楼层    本楼为最佳答案   
天门白云 发表于 2021-10-31 14:04
Set tebox = ActiveSheet.Shapes.AddOLEObject(ClassType:="Forms.textBox.1", Left:=10, Top:=ActiveCel ...
Sub test()
Set tebox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.textBox.1", Left:=10, Top:=ActiveCell.Top, Width:=100, Height:=200)
    With tebox
        .Name = "文本框1"
        .Object.MultiLine = True
        .Object.Text = "这是创建的一个新的文本框"
        .Activate
    End With
End Sub

回复

使用道具 举报

 楼主| 发表于 2021-11-10 23:48 | 显示全部楼层
谢谢你的回答,你完美地解决了我的问题,谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 04:41 , Processed in 0.408186 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表