VBA 用户窗体 - 将标签添加到框架

问题描述 投票:0回答:2

我在一个大框架内有六个小框架,我创建了一个按钮来使用以下代码在大框架内添加新的小框架:

For Each cCont In Me.Controls
    If TypeName(cCont) = "Frame" Then
        lCount = lCount + 1
    End If
Next cCont

If lCount = 6 Then
    '384 is the top property of No.6 frame 
    '72 is every small frame distance
    top = 384 + 72
ElseIf lCount > 6 Then
    top = 384 + (72 * (lCount - 5))
End If

Set addBtn = bigFrame.Controls.Add("Forms.Frame.1")
With addBtn
    .Height = 66
    .Left = 6
    .top = top
    .Width = 312
    .name = "frameName" & lCount + 1
    .Caption = "frameName - " & lCount + 1
    .Font.Size = 12
End With

所以我的问题是,如何在新的小框架中添加新标签? 我知道代码应该是这样的:

Set label = bigFrame.frameName.Controls.Add("Forms.Label.1")

添加新的小框架后,新的小框架的名称应为frameName7。我应该在代码中写什么,以便按下按钮时会添加一个带有标签的小框架。谢谢。

vba label frame userform
2个回答
0
投票

您已经有了对新插入框架的引用,因此您可以:

Dim myLabel As MSForms.Label
Set myLabel = addBtn.Controls.Add("Forms.Label.1", "MyLabel", True)

或直接从用户表单使用:

Set myLabel = Me.Controls("FrameName").Controls.Add("Forms.Label.1", "MyLabel", True)

0
投票

Set myLabel = Me.Controls("大框名称").Controls.Add("Forms.Label.1", "MyLabel", True) 这是工作尝试这个..

© www.soinside.com 2019 - 2024. All rights reserved.