只为了#34;有趣"我写了一个例程来列出用户表单上的所有控件:
header('Location: ' . $_SERVER['REQUEST_URI']);
它按预期工作,但它也打印了一些我不了解的控件的名称,以及我不想要的控件。
Call ListAllControlsOn(myNiceForm)
Sub ListAllControlsOn(aUserForm As UserForm)
Dim ctrl As Control
i = 1
For Each ctrl In aUserForm.Controls
Debug.Print " Control #" & i & " of type " & TypeName(ctrl) & " is named " & ctrl.Name; ""
If ctrl.Name = "Frame36" Then ctrl.Delete ' Delete method is not valid :-(
i = i + 1
Next ctrl
End Sub
那些额外的帧不会伤害我,但我想知道如何找到和/或从用户表单中删除这些booger。
答案 0 :(得分:0)
ctrl.delete
我发现了很多关于如何循环控件并删除某些控件的示例,只需要一个简单的Google Search。
在If
ctrl.delete
语句TypeName(ctrl)="Frame"
有关If
语句here的更多信息。
答案 1 :(得分:0)
似乎这个问题更多是出于好奇而不是需要...毕竟,你可以TAB
通过所有控制......
我认为基本问题是(至少使用VBA)你只能以编程方式.Remove
'控制'在运行时以编程方式添加... see here
但是,有一些VBA IDE的插件可能会有所帮助 - 例如MZ-Tools有助于探索用户形式,并且(我刚刚确认)它可以从用户表单中删除控件。