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à.
À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.
Ô Saint Excel, Grand Dieu de l'Inutile.
Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager