Führt die angegebene Suchfunktion durh oder wiederholt sie
#include <Word.au3>
_Word_DocFind ( $oDoc [, $sFindText = "" [, $vSearchRange = 0 [, $oFindRange = Default [, $bForward = True [, $bMatchCase = False [, $bMatchWholeWord = False [, $bMatchWildcards = False [, $bMatchSoundsLike = False [, $bMatchAllWordForms = False [, $bFormat = False]]]]]]]]]] )
$oDoc | Word Document Objekt |
$sFindText | [optional] Der Text nach dem gesucht werden soll. "" gibt an, dass nur nach Formatierung gesucht werden soll. Es kann nach Steuerzeichen gesucht werden, indem der entsprechende Zeichencode angegeben wird. Beispiel: "^p" entspricht einem Paragraphenzeichen, "^t" einem Tabulatorzeichen (Standard = "") |
$vSearchRange | [optional] Definiert die Markierung (Selection) oder den Bereich (Range) der durchsucht werden soll. Mögliche Werte: -1 - Durchsucht die aktive Markierung 0 - Durchsucht das ganze Dokument document (Standard) Ein beliebiger Bereich (Range) des Dokumentes |
$oFindRange | [optional] Definiert den Bereich (Range) den der letzte Aufruf von _Word_DocFind() zurückgegeben hat. Dieser ist notwendig, wenn nach dem nächsten oder vorhergehenden Vorkommen von $sFindText gesucht werden soll. Wenn dieser Parameter auf Standard gesetzt ist, dann beginnt die Suche am Beginn von $vSearchRange (Standard) |
$bForward | [optional] Bei True wird vorwärts gesucht (in Richtung Dokumentenende) (Standard = True) |
$bMatchCase | [optional] Bei True wird Groß-/Kleinschreibung bei der Suche beachtet (Standard = False) |
$bMatchWholeWord | [optional] Bei True wird nur nach ganzen Worten gesucht (Standard = False) |
$bMatchWildcards | [optional] Bei True enthält der Suchtext spezille Suchoperatoren (Standard = False) |
$bMatchSoundsLike | [optional] Bei True werden Worte, die dem Suchtext ähnlich klingen gefunden (Standard = False) |
$bMatchAllWordForms | [optional] Bei True werden alle Abwandlungen des Suchtextes gefunden (e.g. "sitzen" findet "sitzen" und "saß") (Standard = False) |
$bFormat | [optional] Bei True wird zusätzlich zum oder anstatt des Suchtextes nach Textformatierung gesucht (Standard = False) |
Erfolg: | Ein Bereichs-Objekt (Range) das den gefundenen Text umfasst. |
Fehler: | 0 und sets @error ungleich 0. |
@error: | 1 - $oDoc ist kein Objekt 2 - $vSearchRange ist kein Objekt 3 - $oFindRange ist kein Objekt 4 - $sFindText konnte nicht gefunden werden. @extended wird auf den COM Fehlercode gesetzt |
#include <MsgBoxConstants.au3>
#include <Word.au3>
; Erzeugt ein neues oder stellt eine Verbindung zu einem bestehenden Word-Objekt her
Local $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 1", _
"Fehler beim Erstellen eines neuen Word-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffnet das Testdokument im Lesemodus
Local $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\Extras\Test.doc", Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 1", _
"Fehler beim Öffnen von '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Findet das erste Auftreten von "test document". Suchrichtung vom Ende zum Anfang des Dokumentes. Markiert die gefundene Stelle in fetter Schrift.
Local $oRangeFound
#forceref $oRangeFound
$oRangeFound = _Word_DocFind($oDoc, "test document", 0, Default, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 1", _
"Fehler beim Suchen des angegebenen Textes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRangeFound.Bold = True
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 1", _
"Der Text 'test document' wurde vom Ende des Dokumentes in Richtung Dokumentenanfang gesucht, gefunden und fett markiert.")
#include <MsgBoxConstants.au3>
#include <Word.au3>
; Erzeugt ein neues oder stellt eine Verbindung zu einem bestehenden Word-Objekt her
Local $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 2", _
"Fehler beim Erstellen eines neuen Word-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffnet das Testdokument im Lesemodus
Local $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\Extras\Test.doc", Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 2", _
"Fehler beim Öffnen von '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Unterstreicht den Text "line" in den Absätzen 2-4.
Local $oRangeFound, $oSearchRange
$oSearchRange = _Word_DocRangeSet($oDoc, -1, $wdParagraph, 1, $wdParagraph, 3)
$oRangeFound = _Word_DocFind($oDoc, "line", $oSearchRange)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 2", _
"Fehler beim Suchen des angegebenen Textes im Dokument." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRangeFound.Underline = True
While 1
$oRangeFound = _Word_DocFind($oDoc, "line", $oSearchRange, $oRangeFound)
If @error Then ExitLoop
$oRangeFound.Underline = True
WEnd
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 2", _
"Alle Vorkommen der Zeichenkette 'line' in den Absätzen 2-4 wurden unterstrichen.")
#include <MsgBoxConstants.au3>
#include <Word.au3>
; Erzeugt ein neues oder stellt eine Verbindung zu einem bestehenden Word-Objekt her
Local $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 3", _
"Fehler beim Erstellen eines neuen Word-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffnet das Testdokument im Lesemodus
Local $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\Extras\Test.doc", Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 3", _
"Fehler beim Öffnen von '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Search for text "line" in lines 2-4 and mark the following number as bold.
; If the number is "3" insert text before text "line".
Local $oRangeFound, $oSearchRange, $oRangeText
$oSearchRange = _Word_DocRangeSet($oDoc, -1, $wdParagraph, 1, $wdParagraph, 3)
$oRangeFound = _Word_DocFind($oDoc, "line", $oSearchRange)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 3", _
"Error locating the specified text in the document." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Mark the line number as bold. Create a new range moved one word to the right
$oRangeText = _Word_DocRangeSet($oDoc, $oRangeFound, Default, 1, Default, 1)
$oRangeText.Bold = True
While 1
$oRangeFound = _Word_DocFind($oDoc, "line", $oSearchRange, $oRangeFound)
If @error Then ExitLoop
; Mark the line number as bold. Create a new range (duplicate to not alter the result of the find operating) and move it one word to the right
$oRangeText = $oRangeFound.Duplicate
$oRangeText = _Word_DocRangeSet($oDoc, $oRangeText, Default, 1, Default, 1)
$oRangeText.Bold = True
; Insert text if linenumber = 3
If StringStripWS($oRangeText.Text, 8) = "3" Then $oRangeFound.InsertBefore("(maybe) ")
WEnd
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 3", _
"All line numbers in paragraphs 2-4 marked as bold." & @CRLF & "Text inserted before 'line 3'.")
#include <MsgBoxConstants.au3>
#include <Word.au3>
; Erzeugt ein neues oder stellt eine Verbindung zu einem bestehenden Word-Objekt her
Local $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 4", _
"Fehler beim Erstellen des Word-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffnet das Testdokument im Lesemodus
Local $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\Extras\Test.doc", Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 4", _
"Fehler beim Öffnen von '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ersetzt das Paragraf-Steuerzeichen durch Paragraf-Steuerzeichen + Text + Paragraf-Steuerzeichen.
; Ersetzt nur das erste Auftreten.
Local $oRangeFound
$oRangeFound = _Word_DocFind($oDoc, "^p")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 4", _
"Fehler beim Suchen des Paragraf-Steuerzeichens." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRangeFound.InsertAfter("[New Line] ")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 4", _
"Fehler beim Einfügen des Textes." & @CRLF & "@error = " & @error & _
", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Beispiel 4", "Das Paragraf-Steuerzeichen wurde erfolgreich ersetzt" & @CRLF & _
"und der Text eingefügt.")