| |
Rechtschreibprüfung in der eigenen Anwendung Eine eigene Rechtschreibprüfung zu entwickeln ist mit Sicherheit eine anspruchsvollere Übung. Aber wieso neu erfinden, was bereits zur Vefügung steht? Microsoft Word bietet bereits eine vollständig integrierte Rechtschreibprüfung, es empfiehlt sich diese zu Benutzung. Eine ziemlich simple Funktion überprüft ab jetzt die Rechtschreibung in ihrer Anwendung: Function CheckSpelling( _ strText As String, _ Optional bolIgnoreUpperCase As Boolean = True) As Boolean 'Deklaration Dim bolRetVal As Boolean Dim wrdApp As Word.Application 'Init bolRetVal = True If Len(strText) > 0 Then 'Word-Instanz anlegen Set wrdApp = New Word.Application 'Rechtschreibprüfung von Word aufrufen bolRetVal = wrdApp.CheckSpelling(strText, , bolIgnoreUpperCase) 'Word-Instanz freigeben wrdApp.Quit 0 Set wrdApp = Nothing End If 'Rückgabe CheckSpelling = bolRetVal End Sub | Die Funktion kann wie folgt aufgerufen werden: =CheckSpelling([Text], IgnoreUpperCase) Argumente [Text] = Zuprüfender Text IgnoreUpperCase = Ja/Nein, ob Grossschreibung beachtet werden soll. Rückgabe: True, wenn alles in Ordnung. False, wenn Fehler in der Rechtschreibung. Die Funktion ist relativ einfach, hat aber ein Performance-Problem, da die Word-Instanz jedesmal geladen werden muss. Das zeitraubende Erzeugen des Word-Objekts könnte eingespart werden, wenn dieses nicht jedesmal gelöscht würde, und beim Aufruf geprüft würde ob noch eine Instanz im Speicher liegt. Dazu wird am besten ein neuer Parameter eingeführt, der entscheidet, ob die Instanz am Schluss gelöscht werden soll: Function CheckSpelling( _ strText As String, _ Optional bolIgnoreUpperCase As Boolean = True, _ Optional bolReUseWord As Boolean = True) As Boolean On Error Resume Next
'Deklaration Dim bolRetVal As Boolean Static wrdApp As Word.Application 'Init bolRetVal = True If Len(strText) > 0 Then 'Wenn nötig, neues Word-Instanz anlegen If wrdApp Is Nothing Then Set wrdApp = New Word.Application wrdApp.DisplayAlerts = 0 wrdApp.ScreenUpdating = False End If
'Rechtschreibprüfung von Word aufrufen bolRetVal = wrdApp.CheckSpelling(strText) End If 'Wenn gewünscht, Word-Instanz freigeben If bolReUseWord = False Then wrdApp.Quit 0 Set wrdApp = Nothing Enf If On Error Goto 0 'Rückgabe CheckSpelling = bolRetVal
End Sub | Die Funktion kann wie folgt verwendet werden: | Aufruf | Rückgabe | Word-Instanz | =CheckSpelling("Hallo Welt") | True | Bleibt im Speicher | =CheckSpelling("Hallo Weltt") | False | Bleibt im Speicher | =CheckSpelling("Hallo welt", False) | False | Bleibt im Speicher | =CheckSpelling("Hallo Welt", False, False) | True | Wird gelöscht | =CheckSpelling("", , False) | True | Wird gelöscht |
Benötigen Sie Unterstützung oder weiterführende Informationen, gerne helfen wir Ihnen weiter, reden Sie doch einfach mit uns.
Die Informationen dieser Seite dürfen, gemäss unseren Nutzungsbestimmungen, kostenlos weiterverwendet werden.
Reto Maurer's Software-Chuchi Seestrasse 26 CH-8802 Kilchberg-Zürich Telefon: +41 79 635 47 31
E-Mail:info@software-chuchi.ch
|
|
|