Hallo,
ich möchte nach Änderung eines bestimmten Textfeldes in einem Formular automatisch die Rechtschreibprüfung starten. Diese soll aber nur auf dieses Textfeld und nur in dem aktuellen DS angewendet werden. Hatte es zunächst mit dem Menübefehl "Rechtschreiborüfung" in einem Makro versucht, dann durchläuft die Prüfung aber alle Felder und DS in meinem Formular.
Hat vielleicht jemand von Euch eine Idee oder einen Tipp, wie ich das mit VBA lösen kann? Vielen Dank!
Ich habe es (erfolglos :o ) hiermit probiert:
Private Sub Text48_AfterUpdate()
On Error Resume Next
Me!DoCmd.RunCommand acCmdSpelling
End Sub
Danke und Gruß,
Rene
...wahrscheinlich keine große Sache, aber leider bin ich ein absoluter VBA-Neuling....
Dieses Beispiel (https://www.ms-office-forum.net/forum/showpost.php?p=1693553&postcount=3) habe ich gefunden. Der Text muss also vorerst markiert werden.
Hallo Jan,
vielen Dank!
Ich hatte in der Zwischenzeit noch diesen Code gefunden, mit dem es auch gut funktioniert (allerdings auch nur über einen Schalter):
Private Sub Befehl132_Click()
Dim ctlSpell As Control
Set ctlSpell = Screen.PreviousControl
If TypeOf ctlSpell Is TextBox Then
If IsNull(Len(ctlSpell)) Or Len(ctlSpell) = 0 Then
MsgBox "There is nothing to spell check."
ctlSpell.SetFocus
Exit Sub
End If
With ctlSpell
.SetFocus
.SelStart = 0
.SelLength = Len(ctlSpell)
End With
DoCmd.RunCommand acCmdSpelling
Else
MsgBox "Spell check is not available for this item."
End If
ctlSpell.SetFocus
End Sub
Zitat von: ReAcc am September 19, 2022, 11:23:44allerdings auch nur über einen Schalter
Na ja, ohne Schalter wird auch etwas anspruchsvoller.
Copy & Paste genügt da nicht mehr, da es eine Reihe von Faktoren zu berücksichtigen gibt.