在marco触发之前,我需要在PowerPoint中的ActiveX文本框中输入多个字符。键入每个字符时,当前宏将触发。
Private Sub TextBox1_Change()
IF TextBox1.Value = "18" then
MsgBox "You have entered 18"
End If
End Sub
以前的尝试都失败了所以我必须添加一个CommandButton
,它会在文本框中输入所有字符后触发操作,但输入和点击执行任务很麻烦。因此,在输入所需数据后按Enter / Return键后触发宏会更好。我尝试过KeyPress
和KeyDown
,即
Private Sub TextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
MsgBox "hello"
End If
End Sub
但该代码给了我一个编译错误:
程序声明与具有相同名称的事件或程序的描述不匹配。
答案 0 :(得分:0)
也许LostFocus事件会更有用。假设TextBox1在幻灯片1上:
Private Sub TextBox1_LostFocus()
MsgBox ActivePresentation.Slides(1).Shapes("TextBox1").OLEFormat.Object.Text
End Sub