我是VBA的新手,感谢您的帮助!
我有一张只有一张幻灯片的PowerPoint。
该幻灯片上有几个滚动条。用户可以使用它们更改值。
然后,将执行scrollbarName_change()
。
但是有时我的代码会更改滚动条,并且我不希望执行scrollbarName_change()
侦听器的代码。
我想到了一个全局变量,每次我的代码而不是用户尝试更改滚动条值时都必须将其设置为“ true”。滚动条更改将在执行代码前检查变量是否为true / false,但这确实很讨厌。另外,我不确定是否在尝试更改变量时不会与其他时间发生冲突。
有人有更好的主意吗?
答案 0 :(得分:1)
您的想法没什么讨厌的!我确实使用了CheckBox而不是全局变量:
'https://stackoverflow.com/questions/54380340/vba-ppt-change-value-of-a-scroll-bar-without-triggerin-the-change-listener
'(VBA-PPT) Change value of a scroll bar without triggerin the change-listener
Private Sub CheckBox1_Click()
' MsgBox "Click"
End Sub
Private Sub ScrollBar1_Change()
If Not (CheckBox1) Then Exit Sub
MsgBox "SB1"
End Sub
Private Sub ScrollBar2_Change()
If Not (CheckBox1) Then Exit Sub
MsgBox "SB2"
End Sub
Private Sub ScrollBar3_Change()
If Not (CheckBox1) Then Exit Sub
MsgBox "SB3"
End Sub