Insérer dans word à partir d'une application VB.NET

Signaler
Messages postés
12
Date d'inscription
jeudi 1 juillet 2010
Statut
Membre
Dernière intervention
26 février 2013
-
 Utilisateur anonyme -
Bonjour,
J'espère que vous allez bien, j'ai un problème et j'espère que vous pouvez m'aider.
bon j'ai crée un bouton qui lance un document WORD 2007 existe déjà sur mon disque dur.
Mais le problème c'est que: je veux insérer la valeur d'un textbox dans ce document.
par exemple dans le document WORD, j'ai le texte suivant:

bonjour Monsieur NOM Prénom



donc je veux quand je clique sur un bouton: dans le document WORD je trouve la valeur de mon textbox NOM, et la valeur de mon textbox Prénom.
donc je veux voir ça dans mon document WORD:

bonjour Monsieur "valeur de textbox NOM" "Valeur de textbox Prénom"


pouvez vous m'aider SVP.
MERCI D'avance

6 réponses


Bonjour,

Même pas besoin de VBA. Tu te fais un modèle de document et tu insère des champs "ASK" ou des champs "FILLIN à la bonne place.

Ou tu pilotes l'assistant publipostage par automation.

Bonsoir,

A partir d'une application .NET donc ...
Il faut faire une référence à Word (menu projet/ajouter une référence/onglet COM/Microsoft word...)
Importer ensuite l'espace de nom Word :
Imports Word

Ensuite tu peux utiliser ce code par exemple :
Dim app As New Word.Application
'a changer bien entendu
Dim doc As Document = app.Documents.Open("chemin\du\fichier.doc")
doc.Range.Text = doc.Range.Text.Replace("NOM", TextBox1.Text)
doc.Range.Text = doc.Range.Text.Replace("Prénom", TextBox2.Text)
doc.Close()
app.Quit()
Messages postés
12
Date d'inscription
jeudi 1 juillet 2010
Statut
Membre
Dernière intervention
26 février 2013

Bonjour, Merci cmarcotte et banana32 pour vos réponses.

cmarcotte je suis désolé j'ai pas compris votre réponse comment utiliser publipostage avec l'application VB.NET??

banana32 votre code n'ouvre pas le document, mais il modifie le text s'il y a dans le texte de document les mots:Nom et Prénom, mais par exemple s'il y a dans le document plusieurs mots :"NOM" il va changer tous les mots "NOM", et aussi il change le document seulement dans le cas où les mots NOM et Prénom existent, mais moi je veux quand j'ouvre le word je trouve les mots que j'ai dans le textbox ça veut dire que mes textbox doivent s'insérer dans un endroit précis quelque soit le NOM ou le Prénom qui sont dans le document, je veux pas l'utilisateur à chaque fois efface les valeurs de textbox dans le document et écris NOM, Prénom pour utiliser le document WORD la prochaine fois, j’espère que j'étais claire car je savait pas comment expliquer bien mon problème

voila le code que j'utilise pour ouvrir mon document il marche très bien :
Dim proc As New Diagnostics.Process
            proc.StartInfo.UseShellExecute = True
            ' Définition du fichier à ouvrir
            proc.StartInfo.FileName = "C:\Users\Mery\Documents\wordtest.docx"
            proc.Start()



SVP si vous avez des autres idées, MERCI BEAUCOUP

Bonsoir,

Dans ce cas, sers toi d'un "modèle" et sauvegarde un nouveau fichier doc définitif en rajoutant au code plus haut cette ligne :
doc.SaveAs("autre\chemin\du\fichier_definitif.doc")

Autre chose, pour ouvrir un simple fichier, cette ligne suffit amplement :
Process.Start("autre\chemin\du\fichier_definitif.doc")

Bonjour,

comment utiliser publipostage avec l'application VB.NET??


C'est un publipostage avec VBA. Avec VB.net, il faudra faire quelques ajustements, mais l'essentiel est là.