D�finit ou modifie une plage dans un document
#include <Word.au3>
_Word_DocRangeSet ( $oDoc, $vRange [, $iStartUnit = Default [, $iStartCount = Default [, $iEndUnit = Default [, $iEndCount = Default]]]] )
$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) |
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 |
#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.")