( Sources convertis en 6 couleurs avec mon programme VB to HTML)
'=============================================================================== ' EXEMPLE D'UTILISATION DE L'OBJET WORD ' PERMET DE MODIFIER AVANT DE L'IMPRIMER UN DOCUMENT WORD ' WORD EST INVISIBLE POUR L'UTILISATEUR ' ET LE DOCUMENT EST INCHANGE APRES L'IMPRESSION ' ' WORD97 DOIT ETRE PRESENT SUR LE POSTE UTILISATEUR ' ' fred.just@free.fr ' Active Visual Basic ' http://fred.just.free.fr/ '=============================================================================== Option Explicit 'Ajouter une réference "Microsoft Word 8.0 Object library 'Objet général pour travailler avec WORD Dim wrdApp As Word.Application 'Objet document permet d'accéder a toutes les caractéristiques des documents WORD Dim wrdDoc As Word.Document 'Partie d'un document permet de modifier les propriétés d'une zone Dim wrdRange As Word.Range '=============================================================================== ' CREATION DE L'OBJET WORD8 ' UTILISE MSWORD8.OLB '=============================================================================== Private Sub cmdMake_Click() On Error Resume Next 'Création de l'objet word Set wrdApp = New Word.Application If Err.Number = 0 Then cmdOpenDoc.Enabled = True cmdQuitte.Enabled = True Else MsgBox "Création de l'objet WORD impossible" & vbCrLf & Err.Description End If End Sub '=============================================================================== ' OUVRE UN DOCUMENT SERVANT DE TEMPLATE ' TOUT LES MODIFICATION SE FONT EN MEMOIRE ' LE DOCUMENT NE SERA PAS CHANGER ET POURRA SERVIR DE NOUVEAU '=============================================================================== Private Sub cmdOpenDoc_Click() On Error Resume Next 'ouverture du document word servant de template Set wrdDoc = wrdApp.Documents.Open(App.Path & "\Exemple.doc") If Err.Number = 0 Then cmdModif.Enabled = True Else MsgBox "Ouverture du document impossible" & vbCrLf & Err.Description End If End Sub '=============================================================================== ' MODIFIE LE DOCUMENT ' EN UTILISANT LES SIGNETS PRESENT DANS LE DOCUMENT ' CETTE TECHNIQUE ET LA PLUS SIMPLE '=============================================================================== Private Sub cmdModif_Click() On Error Resume Next 'definie l'emplacement a modifier en selectionnant un signet 'des signets nommés "nom" et "montant doivent exister dans le document Set wrdRange = wrdDoc.Bookmarks("nom").Range 'Modifie le text de la selection dans le template wrdRange.Text = txtNom Set wrdRange = wrdDoc.Bookmarks("montant").Range wrdRange.Text = txtMontant If Err.Number = 0 Then cmdImprim.Enabled = True Else MsgBox "Modification du document impossible" & vbCrLf & Err.Description End If End Sub '=============================================================================== ' IMPRIME ET FERME LE TEMPLATE '=============================================================================== Private Sub cmdImprim_Click() On Error Resume Next 'impression du template wrdDoc.PrintOut 'fermeture du document sans le sauvegarder wrdDoc.Close SaveChanges:=0 End Sub '=============================================================================== ' QUITTE WORD ET DESTRUCTION DES OBJETS '=============================================================================== Private Sub cmdQuitte_Click() On Error Resume Next 'indispensable autrement une instance de WINWORD reste en memoire wrdApp.Quit 'Destruction des objets Set wrdRange = Nothing Set wrdDoc = Nothing Set wrdApp = Nothing Unload Me End Sub