Bonjour
Depuis delphi j'ai crée un doc word et inséré un tableau. Je souhaite fusionner plusieurs cellules de ce tableau.
Merci de votre aide
Version imprimable
Bonjour
Depuis delphi j'ai crée un doc word et inséré un tableau. Je souhaite fusionner plusieurs cellules de ce tableau.
Merci de votre aide
Salut et bienvenue dans les forums de Developpez.com ! ;)
Pour bien comprendre le problème sur lequel tu bloques, il faudrait être un peu plus explicite dans ton énnoncé et éventuellement illustrer ton problème avec un peu de code... Quelle est la question au juste ? quand je dis "question", j'entend une pharse se terminant avec un point d'interrogration...
J'ai créé un tableau de 2 lignes et 4 colonnes :
worddocument1.Tables.Add(wordapplication1.Selection.Range,2,4);
puis j'insère le texte :
texte:='Facteurs de risque/"action"';
worddocument1.Tables.Item(1).Cell(1,1).Range.Text:=texte;
Maintenant, comment faire pour fusionner les 3 premières cellules de la première ligne ?
Merci
En te servant de Google.fr par exemple...Citation:
Envoyé par oliflo
Avec les mots clés : "Delphi fusion cellule word", la 1ère réponse est :
http://www.developpez.com/delphi/faq/?page=msoffice
Et dans cette page, on trouve :
http://www.developpez.com/delphi/faq...elcelfusionner
Ne poste un nouveau sujet qu'en dernier recours et seulement après avoir fait un minimum de recherche personnelle. C'est ce qui est indiqué dans les règles du forum si tu les as bien lu... Bref, pense à Google.fr la prochaine fois, ça doit être le 1er réflexe lorsqu'on a un problème...
à+
Merci mais je connaissais déjà cette page. La fusion expliquée s'applique à excel et non pas à un tableau word ! La syntaxe n'est pas la même.
Je pourrais m'en sortir si je savais sélectionner +sieurs cellules, il suffirait ensuite d'appliquer Merge à la sélection.
à+
Je crois qu'il faut fusionner les cellules 2 par 2, non ? Exemple, si tu as 3 cellules, tu fusionnes la 1ère et la 2ème ce qui fait qu'il t'en restera plus que 2, puis tu fusionnes la cellule résultante avec la 3ème. Enfin, je n'ai jamais programmé avec ces fonctions, probablement que d'autres membres te répondront mieux que moi, à+
Salut,
et si tu passes pour une macro Word, que tu enregistres celle-ci et qu'ensuite tu lis le code associé à la macro pour l'adapter à Delphi, tu ne trouves pas ton bonheur ?
Moi généralement c'est ce que je fais.
Amitiés,
Bruno
C'est aussi ce que je fais aussi pour Excel.Citation:
Envoyé par Bruno13
Mais, j'ai essayé pour Word, et il m'interdit de fusionner deux cases d'un tableau, pendant l'enregistrement d'une macro.
Voici le code de la macro de word (j'ai sélectionné 3 cellules d'un tableau puis je les ai fusionnées :
Mais pour la transposition en code delphi, c'est autre chose !Code:
1
2
3
4
5
6
7
8
9 Sub Macro1() ' ' Macro1 Macro ' Macro enregistrée le 07/09/2006 ' Selection.MoveRight Unit:=wdCharacter, Count:=11, Extend:=wdExtend Selection.Cells.Merge Selection.MoveRight Unit:=wdCharacter, Count:=1 End Sub
Je n'arrive déjà pas à sélectionner deux ou +sieurs cellules contigues. Ce serait simple ensuite d'utiliser Merge je pense.
a+
_________________________
[Sub0] N'oubliez pas d'utiliser les balises Code !
Salut,
je pense que j ai la reponse à ta question.
voici mon code source que j ai utilisé pour fusionner les 3 premieres cellules de la premiere ligne.
[Balises CODE rajoutées par Pedro. Merci d'y penser à l'avenir]Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 var WordApp:TWordApplication ; DocWord:_document; Tableau:Table; begin WordApp:=TWordApplication.Create(nil); WordApp.Connect; WordApp.Visible:=True; DocWord:=WordApp.Documents.Open(File_Name,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam); //il faut fixer les deux variables i et j Tableau:=DocWord.Tables.Add(WordApp.Selection.Range,i,j,EmptyParam,EmptyParam); Tableau.Cell(1,1).Merge(Tableau.Cell(1,3));
Boncourage.
Merci beaucoup
A+