【发布时间】:2012-07-26 11:37:20
【问题描述】:
我正在从 SolidWorks 运行 VBA 宏。该表单兼作两种类型文档的输入。在UserForm.Initialize 子例程中,我根据打开的文档类型更改用户窗体的Caption 的名称。每当我这样做时,程序都会重新运行UserForm.Initialize,当一切都完成后,它会从它离开的地方继续运行,有效地运行两次。
有人知道解决这种奇怪行为的方法吗?我尝试将 FormName.Caption 命令放入它自己的 Sub 中,但结果是一样的。
非常感谢。
【问题讨论】:
-
初始化事件不应发生两次。您是否已单步执行代码以确保 .caption 更新导致重复?您始终可以将标题更改移动到激活事件。从技术上讲,这意味着它会显示错误的标题,但在它改变之前的时间几乎无法区分。
-
@DanielCook 但这不会导致 more 重新运行代码吗? (即每次激活/点击表单时)
-
是的,它肯定会。但是,如果您将标题存储到在初始化事件期间确定的用户表单的私有字符串中,它将几乎没有开销。但实际上我只是提到了一些可能在没有实际解决您的问题的情况下有效的东西。这就是为什么我没有将其列为答案的原因。 :-)
标签: vba caption userform solidworks