Bonjour,
Une fois de plus je suis au bout du roulot, j'espère avancer sur le sujet grâce à vous.
J'ai des spécifications dans des documents Word.
Je souhaite sortir de ces spécifications les règles de gestion et les intégrer dans un nouveau document Word avec un certain format (pour les intégrer dans un outil).
L'extraction des RG fonctionne (vous m'avez aidé sur cette partie déjà), c'est l'intrégation dans le document Word qui pose problème.
Le code s'exécute en VBA dans un doc Word.
1.création du document (le document de sortie n'existe pas, il faut le créer)
=>ce code ne me semble pas très propre. on doit pouvoir faire mieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 NomFichierWord = ThisDocument.Path + "\result" + date_s + ".doc" Dim FSO As New FileSystemObject FSO.CreateTextFile (NomFichierWord) 'Créer une instance de word Set oWord = CreateObject("Word.Application") oWord.Documents.Open NomFichierWord oWord.Visible = False oWord.ShowMe
2.ajout des différents styles
=>L'ajout des styles dans le nouveau document ne fonctionne pas. Il fonctionne uniquement dans le document courant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24With ActiveDocument.Styles("Titre 1").Font .Bold = True .Italic = True .ColorIndex = wdBlack .Name = "Times New Roman" .Size = 14 End With ActiveDocument.Styles.Add ("Nom_Exigence") With ActiveDocument.Styles("Nom_Exigence").Font .Bold = True .Italic = False .ColorIndex = wdBlack .Name = "Times New Roman" .Size = 12 End With ActiveDocument.Styles.Add ("Descript_exigence") With ActiveDocument.Styles("Descript_exigence").Font .Bold = False .Italic = False .ColorIndex = wdBlack .Name = "Times New Roman" .Size = 10 End With
le code "ActiveDocument.Styles.Add ("Descript_exigence")" plante 1 fois 2 en me disant que le style existe déjà = je ne comprend pas ce comportement
3.ajout des lignes dans le document word
toutesRGdoc est une liste de string
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 i=0 oWord.Selection.TypeText Trim(toutesRGdoc(i)) oWord.Selection.TypeParagraph For i = 1 To maxnb Step 2 oWord.Selection.Style = ActiveDocument.Styles("Nom_Exigence") oWord.Selection.TypeText Trim(toutesRGdoc(i)) oWord.Selection.TypeParagraph oWord.Selection.Style = ActiveDocument.Styles("Descript_exigence") oWord.Selection.TypeText Trim(toutesRGdoc(i + 1)) oWord.Selection.TypeParagraph Next i oWord.Selection.TypeParagraph oWord.Documents.Save
"oWord.Selection.Style = ActiveDocument.Styles("Nom_Exigence")" ne fonctionne pas avec le message = "le membre de la collection requis n'existe pas"
et même en faisant "oWord.Selection.Style "Titre 1"" = quand j'ouvre mon document il n'y a aucun format.
Je ne comprend pas comment on ajoute une nouvelle ligne dans un document Word en lui appliquant un Style. Mon document Word est bien généré mais aucun style n'est pris en compte.
J'espère avoir été claire





Répondre avec citation






Partager