Menu sources

( 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