Publipostage access vers word [Résolu]

Signaler
Messages postés
48
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
13 septembre 2007
-
Messages postés
48
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
13 septembre 2007
-
Bonjour, j'aimerais générer à travers ma base access une fonction qui me permettrait de faire un publispostage vers word
exemple dans ma base access j'ai une liste de personne avec leur fonction
ma fonction devra envoyer un courrier au format word a toutes ces personnes en fonction de critères
je suis parti sur un code dans ce genre là mais bon....
 Set MonWd = CreateObject("Word.Application")
'Ouverture d'un document présent dans le dossier de l'application
    MonWd.Documents.Open "C:\Documents and Settings\yohan\Bureau\nous.doc"
Set rst = New ADODB.Recordset
    rst.Open "SELECT nom, fonction from mabase order by nom", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    rst.MoveFirst
    While Not rst.EOF
'Positionnement dans le document sur le signet Qui et Fonct
'Saisie du contenu de la textbox dans le document Word
    MonWd.ActiveDocument.Bookmarks("Qui").Select
    MonWd.Selection.InsertAfter rst.Fields(0)
    'MonWd.ActiveDocument.Bookmarks("Fonct").Select
    'MonWd.Selection.InsertAfter rst.Fields(1)    
'Fermeture du document et de Word
    'MonWd.ActiveDocument.Close False
    rst.MoveNext
    Wend
     MonWd.Visible = True
    rst.Close
je sais c un  peu complexe mais bon

Xynder [}:)] 59

2 réponses

Messages postés
48
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
13 septembre 2007

Bon ba j'ai trouvé tout seul sans ami......
pour ceux que ça interesse...

'Voici pour la déclaration du code:
Dim wdapp As Word.Application

'Démarrer Word
Set wdapp = CreateObject("Word.application")
With wdapp
       .Visible = True

      'ouvrir le document
      .Documents.Open "chemin_complet_du_document_word"

      'Diriger le publipostage vers un nouveau document
    .ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
    .ActiveDocument.MailMerge.OpenDataSource Name:="chemin_complet_de_la_base_access", _
        ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.Jet.OLEDB.4.0; Password="""";User ID=Admin;Data Source=chemin_complet_de_la_base_access;Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:" _
        , SQLStatement:="SELECT * FROM `enfant_req3`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess
End With

'fermer et libérer les objets
Set wdapp = Nothing

il faut aussi enlever les securité de la base access et ça passe impec...

Xynder [}:)] 59
Messages postés
48
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
13 septembre 2007

non personne ???

Xynder [}:)] 59