( 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