表单控件按钮名称的字符限制

时间:2016-07-11 09:16:51

标签: excel vba excel-vba button

我目前正在编写一套用于项目跟踪的宏。其中一个宏以编程方式为要跟踪的每个新项生成表单控件按钮。为了允许生成的按钮使用适当的数据启动表单,我设计了按钮,使用访问适当数据所需的最少数据量进行命名。

我遇到的问题是,如果传递给名称的数据太长,代码错误会说:the specified value is out of range。我想我只需要提供一个替代标识符来传递给按钮,但与此同时,我很好奇是否对表单控件的名称有特定的字符限制,如果有的话提高或改变这个限制的方法?如果不是,具体是什么字符限制?

我使用按钮的名称来存储识别数据,因为我需要以后的程序来知道按下按钮时使用Application.Caller访问哪些数据。是否有按钮指向特定数据集的替代方法?

1 个答案:

答案 0 :(得分:2)

你可能会搞乱按钮,并使用一些属性,所以有一个名为clsCustomButton的类

Public WithEvents btnCustomButton As MSForms.CommandButton

Private strDataDetail1 As String
Private strDataDetail2 As String
Private strDataDetail3 As String

Public Property Let DATA_DETAIL1(value As String)
    strDataDetail1 = value
End Property
Public Property Let DATA_DETAIL2(value As String)
    strDataDetail2 = value
End Property
Public Property Let DATA_DETAIL3(value As String)
    strDataDetail3 = value
End Property

Public Function INITIALISE(btn As MSForms.CommandButton)
    Set btnCustomButton = btn
End Function

Private Sub btnCustomButton_Click()
    Module1.DATA = strDataDetail1 & "_" & strDataDetail2 & "_" & strDataDetail3
End Sub