首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

100分~动态控件事件没有反应!也动态增加了事件Click()!

2012-03-08 
100分紧急求助~~动态控件事件没有反应!也动态增加了事件Click()!!紧急求助~~我在VBA 添加了UserForm1 ,里

100分紧急求助~~动态控件事件没有反应!也动态增加了事件Click()!!
紧急求助~~
我在VBA 添加了UserForm1 ,里面动态产生按钮控件,也动态增加了事件Click()
执行上都能正常产生控件,程序代码也有产生,可是鼠标点击画面按键时事件没有反应!!!
求高手能给小弟帮帮忙~~~感谢!!!


  Dim Code As String
  Dim NextLine As Long
  Dim myButton1 As Control
  Dim Y As Integer
   
  For Y = 1 To 10
  Set myButton1 = SoundForm.Controls.Add("Forms.CommandButton.1")
  myButton1.Top = 2 + 25 * (Y - 1)
  myButton1.Height = 20
  myButton1.Width = 35
  myButton1.Left = 155
  myButton1.Caption = "Play"
  myButton1.Name = "myCommandButton" & Trim(Str(Y))
   
   
  '动态写入程序代码
  Code = "Sub " & myButton1.Name & "_Click()" & vbCrLf
  Code = Code & " MsgBox ""新增完成"" " & vbCrLf
  Code = Code & "End Sub"
   
  '传回Sheet内的程序代码
  With ThisWorkbook.VBProject.VBComponents("UserForm1").CodeModule
  NextLine = .CountOfLines + 1
  '插入程序代码
  .InsertLines NextLine, Code
  End With
   
   
  Set myButton1 = Nothing
  Next
   


[解决办法]
做过类似的 ,不过只是把控件进行了隐藏,添加时修改可见属性,代码也是固定的,到可以实现....、
看你的代码将新添加的控件更加的动态了...
学习...
[解决办法]
学习
[解决办法]
楼主写出这样的代码也应该是大牛级别的了,
我很想帮你解决,但这种对VBA本身的操作,我试了几次都导致了Excel 2003死机,最后放弃了

我的建议就是不要使用动态的事件函数,改用固定的,写好的函数,
不知道楼主的需求是什么,我想像中应该把一个Button动态移动位置,加上显示隐藏,
应该就差不多可以满足吧,不需要动态增删Button这么复杂吧。

楼主退一步吧,或者把问题解决了和我们分享答案。
[解决办法]
调通LZ的代码,确实动态生成的按钮不能响应添加的事件(用代码写入的那个)。还在研究中。。。。

挺有意思的。估计就差那么一点点了。
[解决办法]
对VBA 不太懂··· 前两天C#开发vsto 想给word增加个自定义按钮 ,按钮只能响应一次,后来把 按钮设为全局变量就行了 ,希望是同样的问题,对你有帮助····

热点排行