1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| var
TexteTableau:Olevariant;
Unit_,
Extend: OleVariant;
MaZone: OleVariant;
StartZone: Integer;
EndZone: Integer;
Separator: OleVariant;
Tableau : Table;
begin
// Définit le texte à convertir
TexteTableau:='C1_Premier;C2_Second;C3_Troisiéme'+#13#10+'L1_Premier;L2_Second;L3_Troisiéme'+#13#10+'L2_Premier;L2_Second;L2_Troisiéme'+#13#10;
//Se positionne en début de document
Unit_:=wdStory;
Extend:=wdExtend;
WordApplication1.Selection.HomeKey(Unit_,Extend);
//Insére le texte
WordDocument1.Range.InsertAfter(TexteTableau);
// Utilise la méthode SetRange pour redéfinir la valeur de
// la variable MaZone de sorte qu'elle fasse référence
// aux trois premiers paragraphes du document actif.
MaZone:=WordDocument1.Paragraphs.Item(1).Range;
StartZone:=WordDocument1.Paragraphs.Item(1).Range.Start;
EndZone:=WordDocument1.Paragraphs.Item(3).Range.End_;
MaZone.SetRange(StartZone,EndZone);
{ //Définit le séparateur utilisé lors de la conversion
Separator:=';';
MaZone.ConvertToTable(Separator,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam);}
//La variable maZone étant un Variant/OleVariant,
//on peut utiliser la notation nommée pour les paramètres.
//Cette expression est évaluée uniquement lors de l'execution (cf. DispInvoke)
//On évite ainsi une liste de paramétres vide (EmptyParam),
//les paramètres qui ne sont pas spécifiés prennent leur valeur par défaut.
//Cette possibilité facilite le portage entre les versions d'Office
//dans la mesure où les paramètres utilisés sont communs.
MaZone.ConvertToTable(Separator:=';');
end; |
Partager