如何在TextBox1_Change中输入多个字符

时间:2016-07-21 01:12:21

标签: vba powerpoint

在marco触发之前,我需要在PowerPoint中的ActiveX文本框中输入多个字符。键入每个字符时,当前宏将触发。

Private Sub TextBox1_Change()
   IF TextBox1.Value = "18" then
       MsgBox "You have entered 18"
   End If
End Sub

以前的尝试都失败了所以我必须添加一个CommandButton,它会在文本框中输入所有字符后触发操作,但输入和点击执行任务很麻烦。因此,在输入所需数据后按Enter / Return键后触发宏会更好。我尝试过KeyPressKeyDown,即

Private Sub TextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then
        MsgBox "hello"
    End If
End Sub

但该代码给了我一个编译错误:

  

程序声明与具有相同名称的事件或程序的描述不匹配。

1 个答案:

答案 0 :(得分:0)

也许LostFocus事件会更有用。假设TextBox1在幻灯片1上:

Private Sub TextBox1_LostFocus()
  MsgBox ActivePresentation.Slides(1).Shapes("TextBox1").OLEFormat.Object.Text
End Sub