Bonsoir à tout
j'aimerai bien savoir comment remplacer des mots dans un document word 2013 à partir du VB.NET
Cordialement
Bonsoir à tout
j'aimerai bien savoir comment remplacer des mots dans un document word 2013 à partir du VB.NET
Cordialement
Chose certaine, tu n'auras pas de code gratuit clef-en-main.
Mais comme la question est tellement vague...
1) On peut piloter Word par automation comme in le ferait avec Excel ou PowerPoint
2) On peut utiliser le SDK OpenXML
3) On peut utiliser System.IO.Packaging
Pour le faire par automation, tu enregistres une macro dans word pour chercher-remplacer un texte. Ensuite, tu peux la reprendre dans VB en t'ajustant pour l'instanciation des objets.
Avec Open XML, tu as une base (ou une façon que tu peux utiliser) avec cela. Cela permet de récupérer le texte brut d'un document Word. Ensuite tu peux remplacer ton texte, puis refaire la mise en forme dans Word. Si ton document n'est pas trop long et que tu utilises les style, ce n'est pas la mer à boire. Tu peux aussi aller voir là.
Bonsoir
merci Mr clementmarcotte pour votre réponse j'ai trouvé du code qui fonctionne bien
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 Dim appWord As New Word.Application Dim docWord As New Word.Document docWord = appWord.Documents.Open(C:\tp\test.doc) Try Dim myStoryRange As Microsoft.Office.Interop.Word.Range For Each myStoryRange In docWord.StoryRanges With myStoryRange.Find .Text = <-email-> .Replacement.Text = toto@titi.com .Wrap = Microsoft.Office.Interop.Word.WdFindWrap.wdFindContinue .Execute(Replace:=Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll) End With Next myStoryRange docWord.Save() appWord.Quit() docWord = Nothing appWord = Nothing Catch ex As Exception MsgBox(ex.Message) End Try
Partager