Admin Fondateur
Nombre de messages : 197 Age : 40 Localisation : Tlemcen ( Algérie ) Date d'inscription : 04/12/2006
| Sujet: Comment transmettre des données à un document Word ? Jeu 18 Jan - 17:14 | |
| [url=#wrd_sig]Comment transmettre des données à un document Word ?[/url] Voici une méthode utilisant les signets. Dans Microsoft Word, un signet est un emplacement nommé que l'on utilise comme référence. Il est ajouté via la commande Signets qui est dans le menu Insertion. Ici les signets vous serviront de conteneurs pour les informations envoyées par votre programme. Vous devez leur octroyer un nom afin de pouvoir les identifier depuis Visual Basic. Attention, vous ne pouvez pas ajouter plusieurs fois un signet du même nom. Voici un exemple d'envoi de données. Dans votre projet, n'oubliez pas de cocher la référence Micorosft Word x.0 Object Library. - Code:
-
Dim MyWord As Word.Application, doc As Word.Document Dim signet As String, i As Long
Set MyWord = New Word.Application With MyWord
Set doc = .Documents.Open("c:\modele.doc") 'Rs est un recordset Adodb, NomPers et PrenomPers sont des signets doc.Bookmarks("NomPers").Range.Text = Rs.Fields("nom").Value doc.Bookmarks("PrenomPers").Range.Text = Rs.Fields("prenom").Value ' exemple de signets allant de Mat1 à Mat11 remplis par les valeurs d'une table TbMat For i = 0 To 10 signet = "Mat" & Trim(Str(i + 1)) doc.Bookmarks(signet).Range.Text = TbMat(i) Next i doc.SaveAs "c:\etat.doc" 'enregistre sous un autre nom .Visible = True 'rend l'application visible Set doc = Nothing End With
DoEvents Set MyWord = Nothing Dans cet exemple le modèle est enregistré sous un autre nom puis le document est rendu visible. Vous pouvez au contraire imprimer le document sans que l'utilisateur sache que Word est utilisé et sans que les modifications soient sauvegardées : - Code:
-
doc.PrintOut doc.Close wdDoNotSaveChanges | |
|