Bonjour.
J’ai (encore) un souci :
Je génère depuis Delphi un document Word
Il y a dans ce document un tableau que je dois agrandir avant de le remplir.
Pour agrandir le tableau, j'utilise la fonction suivante :
Avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function TDmMSWord.Word_InsertLigne(NumeroDuTableau,NbrDelignes,NumeroDeColonne,NumeroDeLigne: Integer):boolean; begin result := false; if ((not bWrdAppli) or (not bWrdDoc)) then exit; try Word_TabPlacerCurseurDansCase(NumeroDuTableau, NumeroDeColonne, NumeroDeLigne); WordApp.Selection.InsertRowsBelow(NbrDelignes); result := true; except on E: Exception do Error(1002, E.Message); end; end;
pour info :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TDmMSWord.Word_TabPlacerCurseurDansCase(NumeroDuTableau, NumeroDeColonne,NumeroDeLigne : Integer); begin WordDoc.Tables.Item(NumeroDuTableau).Cell(NumeroDeLigne,NumeroDeColonne).Range.select; end;
Tout ce passe presque bien !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 WordDoc: OLEVariant; ... WordApp := CreateOleObject('Word.Application'); ...![]()
cad : dans 90% des cas il a bien incrustation de lignes
Mais parfois ca plante !! et je n'arrive pas a savoir pourquoi..
Autre détail étrange : il semble que parfois les lignes soient rajoutées par dessus et parfois par dessus ??...
[Modération]
Balises code ajoutées par Laurent Dardenne
[/Modération]
Partager