2016-07-21 8 views
0

Ich muss mehrere Zeichen in eine ActiveX-Textbox in PowerPoint eingeben, bevor der Marco feuert. Das aktuelle Makro wird ausgelöst, wenn jedes Zeichen eingegeben wird.Wie gebe ich mehrere Zeichen in TextBox1_Change ein

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

Frühere Versuche waren gescheitert, so musste ich einen CommandButton hinzufügen, die die Aktionen, nachdem alle Zeichen in das Textfeld eingegeben wurden auslösen würde, aber es ist umständlich zu tippen und klicken Sie auf Aufgaben auszuführen. So wäre es noch besser, wenn das Makro nach dem Drücken der Enter/Return-Taste nach Eingabe der erforderlichen Daten ausgelöst würde. Ich habe versucht, KeyPress und KeyDown und das heißt

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

aber das Code gab mir einen Compiler-Fehler:

Procedure declaration does not match description of event or procedure having the same name.

Antwort

0

Vielleicht ist das Lostfocus-Ereignis wäre nützlicher. Angenommen, TextBox1 ist auf Folie 1:

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

Ich habe Ihren Code eingefügt und aktualisiert die richtige Folie Nummer. Während der Code mir erlaubte, mehrere Zeichen einzugeben, lief er nicht, wenn ich die Eingabetaste betätigte, nur wenn ich in den unbenutzten Bereich der Präsentation klickte (was besser wäre, wenn ich sie hätte, klicken Sie auf eine Befehlsschaltfläche zum Eingeben/Übergeben der Daten) und wenn ich Esc drückte, aber die Esc-Taste schloss die Präsentation nach dem Anzeigen der Nachrichtenbox. – Rgremer

+0

Das LostFocus-Ereignis wird nicht ausgelöst, bis Sie aus dem Textfeld klicken. Und es scheint, dass das Textfeld die Eingabetaste "schluckt", wenn Sie es drücken; Das Änderungsereignis wird nicht ausgelöst, daher bin ich mir nicht sicher, wie Sie es einfangen können. –

Verwandte Themen