0
マルコが発生する前に、PowerPointのActiveXテキストボックスに複数の文字を入力する必要があります。現在のマクロは、各文字が入力されると起動します。TextBox1_Changeに複数の文字を入力するには
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
を試してみましたが、そのコードは私のコンパイルエラーを与えた:
Procedure declaration does not match description of event or procedure having the same name.
コードを貼り付け、正しいスライド番号を更新しました。コードでは複数の文字を入力することができましたが、プレゼンテーションの未使用領域をクリックしたときにのみEnterキーを押しても実行されませんでした(コマンドボタンをクリックしてデータ)とEscを押したときにEscキーがメッセージボックスを表示した後にプレゼンテーションを閉じました。 – Rgremer
LostFocusイベントは、テキストボックスをクリックするまで発生しません。そして、あなたがそれを押すと、テキストボックスはEnterキーを「呑み込む」ようです。変更イベントは発生しないので、どのようにトラップできるのか分かりません。 –