【发布时间】:2016-05-13 11:09:39
【问题描述】:
我正在使用 VBA 为 SolidWorks 编写宏,由于这更像是一个语法问题,我想我会在这里问它。
所以我写的宏使用了 16 个复选框,分别命名为 CheckBox1、CheckBox2、... CheckBox16。
我厌倦了这样做(下面的代码)但出现错误,因为编译器说没有定义变量名称“CheckBoxi”。
For i = 0 To 16
If CheckBoxi.Value Then
'Do Something
End If
Next For
有什么方法可以解决这个问题,我真的不想输入 16 个这样的语句,因为“做某事”位包含相当多的代码。通过修复,我的意思是把它放在一个 for 循环中。谢谢!
【问题讨论】:
-
用户表单上有这些复选框吗?
-
感谢@JohnColeman,我对 excel 感到困惑!
-
@AlexK 因为 Solidworks 不是 Access,所以这绝不是重复的。如果复选框在一般用户窗体上,那么肯定是重复的,但如果 SolidWorks 允许嵌入控件,那么它可能需要一个解决 Solidworks 对象模型细节的答案。
-
@JohnColeman 是的,这是用户表单。是的,我知道为什么这看起来像重复,但我不明白如何使用建议示例中的代码并使其适应我的情况。例如,此处发布的问题的答案使用这行代码:
Public Sub TextBoxNames(ByRef pfrm As Form) -
@JohnColeman 哇,我真的很难格式化这条评论。无论如何,我不知道那行代码是什么意思,在 VBA 帮助中查找“By Ref”和“Controls”并没有产生任何有用的信息。
标签: vba solidworks