Setzt oder ändert eine Bereichs-Definition (Range) im Dokument
#include <Word.au3>
_Word_DocRangeSet ( $oDoc, $vRange [, $iStartUnit = Default [, $iStartCount = Default [, $iEndUnit = Default [, $iEndCount = Default]]]] )
| $oDoc | Word Dokument Objekt |
| $vRange | Zu setzender bzw. zu ändernder Bereich. Es kann auch ein bestehendes Bereichs-Ojekt übergeben werden, das dann wie angegeben erweitert wird. Auch gültig sind: 0 - Verwendet die aktuelle Selektion als Bereich -1 - Setzt Anfang und Ende des Bereiches auf den Beginn des Dokumentes -2 - Setzt Anfang und Ende des Bereiches auf das Ende des Dokumentes |
| $iStartUnit | [optional] Einheit um die/auf die die Anfangsposition des Bereiches gesetzt/verschoben werden soll. Kann eine Konstante der WdUnit Aufzählung sein (Standard = $WdWord). Bei -1 wird Anfang und Ende des geänderten Bereiches auf den Anfang von $vRange gesetzt |
| $iStartCount | [optional] Anzahl der Einheiten um die/auf die die Anfangsposition des Bereiches gesetzt/verschoben werden soll. Positive Werte verschieben die Anfangsposition in Richtung Ende, negative in Richtung Anfang des Dokumentes. Wenn die Anfangsposition auf die Endposition trifft, dann werden Anfang und Ende ab dieser Position gemeinsam weiter verschoben. (Standard = Die Anfangsposition des Bereiches wird nicht verschoben) |
| $iEndUnit | [optional] Einheit um die/auf die die Endposition des Bereiches gesetzt/verschoben werden soll. Kann eine Konstante der WdUnit Aufzählung sein (Standard = $WdWord). Bei -1 wird Anfang und Ende des geänderten Bereiches auf das Ende von $vRange gesetzt |
| $iEndCount | [optional] Anzahl der Einheiten um die/auf die die Endposition des Bereiches gesetzt/verschoben werden soll. Positive Werte verschieben die Endposition in Richtung Ende, negative in Richtung Anfang des Dokumentes. Wenn die Endposition auf die Anfangsposition trifft, dann werden Anfang und Ende ab dieser Position gemeinsam weiter verschoben. (Standard = Die Endposition des Bereiches wird nicht verschoben) |
| Erfolg: | Das geänderte Bereichs-Objekt |
| Fehler: | 0 und setzt das @error Flag auf ungleich 0. |
| @error: | 1 - $oDoc ist kein Objekt 2 - $vRange muss ein Bereichs-Objekt, 0 oder -1 sein 3 - Ein Fehler trat auf beim Setzen der Startposition des Bereiches. @extended wird auf den COM Fehlercode gesetzt 4 - Ein Fehler trat auf beim Setzen der Endposition des Bereiches. @extended wird auf den COM Fehlercode gesetzt |
#include "Extras\HelpFileInternals.au3"
#include <MsgBoxConstants.au3>
#include <Word.au3>
; Erzeugt ein neues oder stellt eine Verbindung zu einem bestehenden Word-Objekt her
Local $oRange, $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", _
"Fehler beim Erstellen des Word-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffnet das Testdokument
Local $oDoc = _Word_DocOpen($oWord, _Extras_PathFull("Test.doc"), Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", _
"Fehler beim Öffnen von '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Szene 1
; Verschiebt den Beginn des Bereichs zum nächsten Absatz und verlängert das Ende um 2 Worte.
; Fügt Text vor und nach dem Bereich ein und zeigt Statistikdaten an.
$oRange = _Word_DocRangeSet($oDoc, -1, $wdParagraph, 1, Default, 2)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", _
"Fehler beim Festlegen/Erweitern des Bereiches." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRange.Select
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", _
"Der Bereich wurde auf die ersten beiden Worte des zweiten Absatzes festgelegt.")
; Fügt vor dem Bereich Text ein
$oRange.InsertBefore("Am Beginn eingefügter Text! ")
$oRange.Select
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", "Text wurde am Beginn des Bereiches eingefügt.")
; Fügt Text nach dem Bereich ein
$oRange.InsertAfter("Am Ende eingefügter Text! ")
$oRange.Select
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", "Text wurde am Ende des Bereiches eingefügt.")
; Zeigt einige Statistikwerte des Bereiches an
Local $iWords = $oRange.ComputeStatistics(0)
Local $iCharacters = $oRange.ComputeStatistics(3)
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", "Der ausgewählte Bereich umfasst:" & @CRLF & _
$iWords & " Worte " & @CRLF & $iCharacters & " Zeichen.")
; Szene 2
; Verschiebt das Ende des Bereichs um ein Zeichen nach links, damit das Leerzeichen zum nächsten
; Wort nicht formatiert wird und formatiert den Text fett, kursiv und unterstrichen formatiert
$oRange = _Word_DocRangeSet($oDoc, $oRange, Default, Default, $wdCharacter, -1)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", _
"Fehler beim Festlegen/Erweitern des Bereiches." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Formatiert den Bereich fett, kursiv und unterstrichen
$oRange.Bold = True
$oRange.Italic = True
$oRange.Underline = True
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", "Formatierungen wurden hinzugefügt.")
; Szene 3
; Reduziert den Bereich auf die Länge 0 (er wird somit zur Einfügemarke) und fügt einen Zeilenumbruch ein
$oRange = _Word_DocRangeSet($oDoc, $oRange, Default, Default, -1, Default)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", _
"Fehler beim Festlegen/Erweitern des Bereiches." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRange.InsertBreak($wdLineBreak)
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", "Zeilenumbruch wurde eingefügt.")
; Szene 4
; Bewegt den Bereich auf das erste Zeichen in der nächsten Zeile (Leerzeichen) und entfernt es
$oRange = _Word_DocRangeSet($oDoc, $oRange, Default, Default, $wdCharacter, 1)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", _
"Fehler beim Festlegen/Erweitern des Bereiches." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRange.Delete
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Beispiel", "Leerzeichen wurde entfernt.")