UDF > Word >


_Word_DocRangeSet

D�finit ou modifie une plage dans un document

#include <Word.au3>
_Word_DocRangeSet ( $oDoc, $vRange [, $iStartUnit = Default [, $iStartCount = Default [, $iEndUnit = Default [, $iEndCount = Default]]]] )

Param�tres

$oDoc Objet document Word
$vRange Plage � d�finir ou �tendre. Vous pouvez passer dans ce param�tre, une plage existante qui est ensuite �tendu. Les valeurs possibles sont:
     0 - Utilise la s�lection actuelle comme plage
    -1 - D�finit d�but/fin de la plage au d�but du document
    -2 - D�finit d�but/fin de la plage � la fin du dcoument
$iStartUnit [optionnel] Unit� avec laquelle la position de d�part de la plage doit �tre d�plac�e/d�finie.
Peut prendre toute valeur de l'�num�ration WdUnit (par d�faut = $WdWord).
Lorsque ce param�tre est d�fini � -1 la plage est r�duite en d�but de plage
$iStartCount [optionnel] Nombre d'unit�s avec lequel le d�but de la plage est d�plac�e/d�finie.
Les nombres positifs d�calent la plage en avant dans le document.
Si la position est d�plac�e vers l'avant � une position au-del� de la position de fin de la plage, la plage est r�duite et les positions de d�but et de fin sont d�plac�es ensemble (par d�faut = ne d�place pas la position de d�part)
$iEndUnit [optionnel] Unit� avec laquelle la position de fin de la plage doit �tre d�plac�e/d�finie.
Peut prendre toute valeur de l'�num�ration WdUnit (par d�faut = $WdWord).
Si ce param�tre est d�fini � -1 la plage est r�duite en fin de plage
$iEndCount [optionnel] Nombre d'unit�s avec lequel la fin de la plage est d�plac�e/d�finie.
Si ce nombre est n�gatif, la fin est d�plac�e vers l'arri�re.
Si la position de fin d�passe la position de d�part, la plage est r�duite et les deux positions se d�placent ensemble (par d�faut = ne d�place pas la position de fin)

Valeur de retour

Succ�s: Retourne l'objet Range modifi�.
�chec: Retourne 0 et d�finit @error <> 0.
@error: 1 - $oDoc n'est pas un objet
2 - $vRange doit �tre un objet Range, 0 ou -1
3 - Une erreur s'est produite lors de la d�finition du d�but de la plage. @extended contient le code d'erreur COM
4 - Une erreur s'est produite lors de la d�finition de la fin de la plage. @extended contient le code d'erreur COM

Exemple

#include <MsgBoxConstants.au3>
#include <Word.au3>

; Cr�er un objet application
Local $oRange, $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", _
        "Error creating a new Word application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ouvre le document test
Local $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\Extras\Test.doc", Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", _
        "Error opening '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

;
; Sc�nario 1
; D�place le d�but de la plage au paragraphe suivant et prolonge la fin de 2
; mots. Ins�re du texte avant et apr�s la plage et affiche quelques statistiques
;
; D�place le d�but de la plage au paragraphe suivant et prolonge la fin de 2 mots
$oRange = _Word_DocRangeSet($oDoc, -1, $wdParagraph, 1, Default, 2)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", _
        "Error setting/expanding range." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRange.Select
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", _
        "Range has been successfully set to the first two words in the second paragraph.")

; Ins�re du texte avant la plage
$oRange.InsertBefore("Inserted text at the start! ")
$oRange.Select
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", "Inserted text at the start of the range.")

; Ins�re du texte apr�s la plage
$oRange.InsertAfter("inserted text at the end! ")
$oRange.Select
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", "Inserted text at the end of the range.")

; Affiche quelques statistiques
Local $iWords = $oRange.ComputeStatistics(0)
Local $iCharacters = $oRange.ComputeStatistics(3)
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", "The selected range has:" & @CRLF & _
        $iWords & " words " & @CRLF & $iCharacters & " characters.")

;
; Sc�nario 2
; D�place la fin de la plage d'un caract�re vers la gauche afin que l'espace avec le mot suivant
; soit manquant et formate le texte en gras, italique et soulign�
;
$oRange = _Word_DocRangeSet($oDoc, $oRange, Default, Default, $wdCharacter, -1)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", _
        "Error setting/expanding range." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Formate la plage en gras, italique et soulignement
$oRange.Bold = True
$oRange.Italic = True
$oRange.Underline = True
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", "Added some formatting.")

;
; Sc�nario 3
; R�duit la plage � la longueur 0 (ins�re une marque) et ins�re un saut de ligne
;
$oRange = _Word_DocRangeSet($oDoc, $oRange, Default, Default, -1, Default)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", _
        "Error setting/expanding range." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRange.InsertBreak($wdLineBreak)
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", "Inserted a break.")

;
; Sc�nario 4
; D�place la plage au premier caract�re de la ligne suivante (espace) et l'enl�ve
;
$oRange = _Word_DocRangeSet($oDoc, $oRange, Default, Default, $wdCharacter, 1)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", _
        "Error setting/expanding range." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oRange.Delete
MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocRangeSet Example", "Deleted a character.")