Publipostage access vers word

Résolu
Xynder59 Messages postés 48 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 13 septembre 2007 - 20 juil. 2007 à 15:26
Xynder59 Messages postés 48 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 13 septembre 2007 - 24 juil. 2007 à 09:03
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

Xynder59 Messages postés 48 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 13 septembre 2007
24 juil. 2007 à 09:03
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
3
Xynder59 Messages postés 48 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 13 septembre 2007
21 juil. 2007 à 13:12
non personne ???

Xynder [}:)] 59
0
Rejoignez-nous