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 :

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;
Avec:

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;
pour info :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
WordDoc: OLEVariant;
...
WordApp := CreateOleObject('Word.Application');
...
Tout ce passe presque bien !!

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]