场景
创建一个空白工作簿,并添加一个ToggleButton和一个InkPicture控件(后者通过activeX控件->“更多控件”插入)。在InkPicture控件的SizeChanged
事件中,添加以下行:
Sheet1.ToggleButton1.Caption = "foo bar"
问题
上面一行中的“ 方法或数据成员未找到”错误突出显示了该行中.ToggleButton1
的出现。
原因
墨水图片的SizeChanged
事件在创建切换按钮之前发生,在某些情况下,该事件发生在工作簿的Open
事件之前!您可以在即时窗口中Debug.Print
相关消息来查看。
问题
如何延迟执行墨水图片的SizeChanged
代码,直到创建切换按钮并可以将其作为工作表的属性访问?我当然可以通过创建一个Boolean
变量来解决该问题,以避免在工作簿的SizeChanged
结束之前执行InkPicture的Open
事件,但这只是解决问题的方法并不能解决实际问题。
我尝试过的事情
- 停止调试器,重新编译VBA项目并保存 之后
- 在上面的行之前添加
DoEvents
- 尝试将切换按钮的
AutoLoad
属性设置为True
在墨水图片之前创建切换按钮
在保存并重新打开工作簿后,每次尝试似乎都能奏效,但随后的保存和打开失败。
注意:我对我的帖子进行了编辑,使其更加简洁易读,因此请不要过分热心并否决一个合法的问题...