Ist auf dem Kundensystem Word installiert, so stellt sich diese Option als leicht realisierbar dar. Der folgende Beispielcode greift auf eine Funktion zu, die ich bereits in einem früheren Posting veröffentlicht habe. Dort ging es um die Prüfung der aktuellen Word Version.
Um die neue Funktion nutzen zu können, sollte der Code aus dem o.a. Posting somit ebenfalls als Funktion verfügbar sein. Sie stellt bei einer gültigen Word-Version innerhalb des _screen Objektes eine Referenz auf das erzeugte Word Objekt bereit (_screen.oWord)
* // Die Funktion SpellCheck verarbeitet entweder einen übergebenen Parameterstring
* // oder, falls kein Wert übergeben wird, den Inhalt der Zwischenablage
FUNCTION SpellCheck
LPARAMETERS vText as String
LOCAL lcSource as String, loDoc AS Word.Document
DO CASE
CASE VARTYPE(m.vText) = [C]
lcSource = m.vText
CASE EMPTY(lcSource) AND !EMPTY(_CLIPTEXT)
lcSource = _CLIPTEXT
ENDCASE
* // Wenn Source gefüllt ist und Word geladen werden konnte, dann kann es losgehen
IF !EMPTY(lcSource) AND LoadWord() > 0
* // Neues leeres Worddokument erzeugen
loDoc = _screen.oWord.Documents.Add(,,1,.T.)
* // Das neue leere Worddokument mit dem zu prüfenden Text füllen
loDoc.Content.Text = lcSource
* // Rechtschreibkorrektur anwerfen
* // Wenn Rechtschreibfehler vermutet werden öffnet sich das Korrekturfenster
loDoc.CheckSpelling()
* // Jetzt steht im Worddokument der korrigierte Text, den wir unserer
* // Arbeitsvariablen bzw. Ziel-Property zuweisen
lcSource = loDoc.Content.Text
* // Sicherstellen, das Word weiterhin unsichtbar bleibt
_screen.oWord.Visible = .F.
* // Das zuvor erzeugte Worddokument schliessen,
* // ohne dass eine Sicherheitsabfrage aufpoppt
loDoc.Close(.F.)
* // Die nicht mehr benötigte Referenzvariable nullen
loDoc = .NULL.
* // Word schliessen ohne das eine Abfrage aufpoppt
_screen.oWord.Quit(.F.)
* // Referenzproperty nullen
_screen.oWord = .NULL.
RELEASE loDoc
ENDIF
RETURN lcSource
ENDFUNC
Anmerkung: Diese Funktion wurde nicht unter der Version 2007 getestet, da mir diese derzeit nicht zur Verfügung steht.
Keine Kommentare:
Kommentar veröffentlichen