PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → [W27] Fusion de cellule dans un Document, est-ce possible par code ?
[W27] Fusion de cellule dans un Document, est-ce possible par code ?
Débuté par Olivier, 25 jan. 2023 11:30 - 1 réponse
Membre enregistré
1 message
Posté le 25 janvier 2023 - 11:30
Bonjour à tous,

je bloque sur le sujet suivant et à force je me demande si c'est possible :
Mon but est d'ajouter un tableau par programmation dans un document word puis de fusionner des cellules :
par exemple :
[1;2;3]
[1; 4 ]

Voici le début du code :
m_Document est un Document
soit p <- m_Document.InsèreTableau(LastPosisition(), nbCol,nbLig)
POUR TOUT para de p.Paragraphe
SI para.Tableau <> Null ALORS
POUR i=1 _À_ nbLig
POUR j=1 _À_ nbCol
para.Tableau[i,j].Contenu.Texte = ...
FIN
FIN
FIN
FIN


J'ai bien le tableau qui s'affiche, et maintenant je souhaite fusionner des cellules.
Mais les propriétés sont en lecture seulement :




Savez-vous comment faire ?

D'avance merci,
Olivier.
Membre enregistré
946 messages
Popularité : +102 (110 votes)
Posté le 04 février 2023 - 14:02
Bonjour
Ce bout de code devrais vous aider.

oWord est un objet automation dynamique
ActiveDocument est un objet automation dynamique
myTable est un objet automation dynamique
myRange est un objet automation dynamique


oWord = allouer un objet automation "Word.Application"
IF oWord = Null THEN
Trace("Erreur 'Word.application' n'est pas installé sur ce poste !")
RETOUR

END
oWord>>Visible = True

WHEN EXCEPTION IN
ActiveDocument = oWord>>Documents>>Open(ComplèteRep(fRepExe())+"TestFusionCellulesWord.docx")
DO
Erreur("Fichier inexistant ou déjà ouvert !")
RETOUR
END


myTable = ActiveDocument>>Tables(1)
myRange = ActiveDocument>>Range(myTable>>Cell(1, 1)>>Range>>Start, myTable>>Cell(1, 2)>>Range>>END)
myRange>>Cells>>Merge


// Enregistrer le doc, le fermer
Libérer myRange
Libérer myTable
Libérer ActiveDocument
Libérer oWord


--
«Nos clients sont nos meilleurs beta testeur.» H. Mintzberg
«Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse» Troisième loi de Greer