Remplir page Word avec les données d'un base acces
sasy22
Messages postés3Date d'inscriptionlundi 2 juillet 2007StatutMembreDernière intervention24 octobre 2007
-
22 oct. 2007 à 16:04
sasy22
Messages postés3Date d'inscriptionlundi 2 juillet 2007StatutMembreDernière intervention24 octobre 2007
-
24 oct. 2007 à 13:53
Bonjour, je cherche depuis un bon moment et je commence à être désésperé....
je suis entrain de créer une petite application sur vb.net avec une base access...j'ai dans cette appli un onglet contrat.
je voudrais, lorsque je clique sur un bouton générer contrat, qu'une feuille "type" s'ouvre sur word avec les champs qu'il y a sur mon application. (Ex.Nom, prénom, num_Contrat qu'on extrait de la base access sur vb.net, et qui iront dans des champ de publipostage sur word).
merci d'avance pour vos réponses
JPGVB
Messages postés96Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention10 mars 20112 23 oct. 2007 à 13:50
Bonjour, voici comment envoyer des données dans un fichier WORD:
1/ creer un fichier word avec la mise en page qui te convient.
2/ se positionner sur le zones à remplir, faire INSERTION puis SIGNET et donner un nom au signet. Répeter l'opération autant de fois que nécessaire (utilise des noms de signet évocateurs), puis sauve le fichier.
3/ dans VB cocher dans PROJET, REFERENCE, Microsoft Word xx object Library selon ta version de Word.
4/ le code suivant te permet d'ouvrir word et d'envoyer les données à la place de tes signets.
Dim MWordApp As Word.Application
Dim MWordDoc As Word.Document
'ouvre une session Word
Set MWordApp = CreateObject("word.application")
'ouvre le document Word
Set MWordDoc = MWordApp.Documents.Open("c:\temp.doc")
'Complète le signet nommé Signet1 par du texte (ex:MonNom)
MWordDoc.Bookmarks("Signet1").Range.Text = "MonNom"
'ferme le document
MWordDoc.close
Il te reste à récupérer les données de ta base de données pour effectuer la fusion.
J'espère avoir répondu à ta question
sasy22
Messages postés3Date d'inscriptionlundi 2 juillet 2007StatutMembreDernière intervention24 octobre 2007 24 oct. 2007 à 11:58
Bonjour tout d'abord merci pour ta réponse....
Pour le point 3. je vais bien dans projet-->ajouter une référence.la il y a une fenêtre qui apparait avec 5 onglets(.net, com, projets, parcourir, récent).dans l'onglet com je trouve effectivement Microsoft Word 12.0 Object library.
j'appuie sur ok et lorsque j'ecris
Dim MWordApp As Word.Application
Dim MWordDoc As Word.Document
il ne reconnait pas le Word.Application(Type.Word.Application.non défini)et il me donne une liste de choix pour changer.
voici mon code(je n'ai pas fini...)
Module Contrats
Dim MWordApp As Microsoft.Office.Interop.Word.Application
Dim MWordDoc As Microsoft.Office.Interop.Word.Document
Public Sub word()
'ouvre une session Word
MWordApp = CreateObject("word.application")
'ouvre le document Word
MWordDoc = MWordApp.Document.Open("D:\word\Doc1.doc")
'Complète le signet nommé Signet1 par du texte (ex:MonNom)
MWordDoc.Bookmarks("NomUsager").Range.Text = Pinacotheque.tbNomCon.Text
'ferme le document
MWordDoc.Close()
End Sub
End Module
lors de la phrase MWordDoc = MWordApp.Document.Open("D:\word\Doc1.doc") il me sort "Le membre public 'Document' du type 'ApplicationClass' est introuvable '"
je pense que le problème se trouve dans le fait que je n'arrive pas a definir les variables avec word.application et word.document.
si tu peux encore une fois m'éclairer se serait très sympa
merci