作者etonhsiao (eton)
看板Office
标题[算表] 在excel新增按钮并指定事件
时间Thu Dec 29 14:15:56 2016
软体: excel
版本: 2007
哈罗~
我想在excel里面用vba新增按钮
并且指定click时的动作
目前找到用class还有用程式加code的方法
打算用class来做
可是目前遇到一点问题
只要在程式里增加按钮,class就连不到按钮上
只要不新增按钮,就可以把原先就存在的按钮指定click
程式码如下:
======sheet1==============================
Dim tbCollection As Collection
Sub InitializePDRInput()
Set object1 = Worksheets(1).OLEObjects.Add(ClassType:="Forms.CommandButton.1")
'就是这行
Dim myObj As OLEObject
Dim obj As clsPDRInput
Set tbCollection = New Collection
For Each myObj In Worksheets(1).OLEObjects
If TypeName(myObj.Object) = "CommandButton" Then
Set obj = New clsPDRInput
Set obj.inputObj = myObj.Object
tbCollection.Add obj
End If
Next myObj
End Sub
=====class clsPDRinput==========================
Public WithEvents inputObj As MSForms.CommandButton
Private Sub inputObj_click()
MsgBox "Change!"
End Sub
============================================
另外想问有没有在新增一个按钮的时候
就直接指定click的事件
而不是加完之後再把全部按钮扫一次的方法呢?
谢谢大家~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.222.81.253
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1482992159.A.EA4.html
2F:→ etonhsiao: 这个方法好像就是直接在後面加程式码,可是觉得多执行 12/29 22:39
3F:→ etonhsiao: 几次档案就会变长,所以才想用class的方式这样 12/29 22:39