Remplir page Word avec les données d'un base acces

sasy22 Messages postés 3 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 24 octobre 2007 - 22 oct. 2007 à 16:04
sasy22 Messages postés 3 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 24 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

3 réponses

JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
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
2
sasy22 Messages postés 3 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 24 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
0
sasy22 Messages postés 3 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 24 octobre 2007
24 oct. 2007 à 13:53
C bon j'ai trouvé...j'ai réussi à faire la liaison
je devais rajouter "s" à document...

merci mille fois
0
Rejoignez-nous