Ouvrir et modifier un word depuis vb.net [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
12 janvier 2009
-
 king -
Bonjour à tous,

Voici mon problème insolvable:

Je réalise un programme où l'utilisateur va saisir des informations sur un formulaire. A partir de là, je souhaite ouvrir un fichier word type, et que certaines phrases soient remplacées par celles saisies par l'utilisateur.

A partir de là, j'ai réalisé la macro correspondante sous Word, mais je ne sais pas comment faire passer les infos saisies sur des TextBox dans la macro de Word.

Ou alors, tout réaliser par VB.NET, mais je n'ai pas trouvé de pistes valables.

Savez vous sinon comment ouvrir un document word, faire une recherche sur celui-ci, du type rechercher-remplacer, où le texte de remplacement proviendrait du textebox?

Je suis ouvert à toutes idées!

Merci pour votre aide

Mintraf

6 réponses

Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Salut mintraf,

Voici comment piloter Word en VB.NET :


Dim oW As Object
' Déclaration de la variable oW

oW = CreateObject("Word.Application")
' Initialisation de la variable

oW.Visible = True
' Accepter que Word apparaisse

oW.Documents.Open("D:\test.doc", ReadOnly:=False)
' Ouverture du fichier test.doc

oW.Application.ActiveDocument.Content.Find.Execute(FindText:="Aaa", ReplaceWith:="VB.NET")
'Remplacement de l'expression Aaa par VB.NET

' Bonus :P

oW.ActiveDocument.Save() ' Sauvegarde du document
oW.ActiveDocument.Printout() ' Lancement de l'impression
oW.Quit() ' Ferme Word
oW = Nothing ' Ferme Word

<!-- Coloration syntaxique vb/vba/vb.net : http://charles.racaud.free.fr/code-syntaxing/ -->Coloration syntaxique vb/vba/vb.net


++

Fauve
Pensez : Réponse Acceptée 
Messages postés
129
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
23 mai 2009
1
Bonjour, une fois les infos enregistrées tu ouvres ton word type puis tu fais
Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "Textearemplace"
        .Replacement.Text = TextBox1.Text 'nouveau texte
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

Bien sur sur word, en vbnet cela est différent.
Messages postés
5
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
12 janvier 2009

Bonsoir,

C'est bien sûr ce que j'ai fait pour ma macro word.
Mais je ne sais pas comment faire en sorte que le TextBox1.Text qu'il récupère soit celui de VB.net

Merci pour votre aide!

Mintraf
Messages postés
5
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
12 janvier 2009

Ca marche, c'est top!
Merci beaucoup, c'est beaucoup plus simple que mes solutions de chargement de Word 9.0, de macros et tout le bazar!

Mintraf
Messages postés
15
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
30 septembre 2009

merci beaucoup je vais essayer et vous ferai la suite
Messages postés
15
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
30 septembre 2009

ca marche a merveille
merci beaucoup a tous je vais biento mettre en ligne ce a quoi ce code m'a servi
a bientot