Publipostage
naco78
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
naco78 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
naco78 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Je suis sous Word 2010 et Windows XP.
Je viens de créer un publipostage ainsi que quelques champs de saisie (développeur --> Contrôle de contenu de texte brut) auquel j'ai ajouté la macro ci dessous qui me permet d'effectuer le publipostage et d'enregistrer automatiquement les données dans un dossier.
En revanche après avoir effectué la macro tout se passe bien sauf que mes champs de saisies ont disparus. C'est a dire qu'une fois la restriction des données effectuées ce champs devient impossible à modifier.
Etant plus que débutant en VBA je pense qu'il faut modifier quelques choses mais je ne sais pas quoi.
Merci
naco78
Je suis sous Word 2010 et Windows XP.
Je viens de créer un publipostage ainsi que quelques champs de saisie (développeur --> Contrôle de contenu de texte brut) auquel j'ai ajouté la macro ci dessous qui me permet d'effectuer le publipostage et d'enregistrer automatiquement les données dans un dossier.
En revanche après avoir effectué la macro tout se passe bien sauf que mes champs de saisies ont disparus. C'est a dire qu'une fois la restriction des données effectuées ce champs devient impossible à modifier.
Etant plus que débutant en VBA je pense qu'il faut modifier quelques choses mais je ne sais pas quoi.
Sub Enregistrer() ' Déclaration des variables Dim iR As Integer Dim i As Integer Dim oDoc As Document Dim DocName As String Dim oDS As MailMergeDataSource ' Affectation des objets Set oDoc = ActiveDocument Set oDS = oDoc.MailMerge.DataSource iR = oDoc.MailMerge.DataSource.RecordCount Debug.Print iR For i = 1 To iR With oDoc.MailMerge 'Définition du premier et dernier enregistrement .DataSource.FirstRecord = i .DataSource.LastRecord = i ' Envoi des données dans un nouveau document .Destination = wdSendToNewDocument ' Exécution du publipostage .Execute ' Actualisation de l'enregistrement pour la sauvegarde .DataSource.ActiveRecord = i 'Utilisation de deux champs pour obtenir le nom du document DocName = .DataSource.DataFields(2).Value 'DocName = DocName & "-" & .DataSource.DataFields(3).Value Debug.Print DocName; i End With ' Sauvegarde du document publiposté With ActiveDocument .SaveAs "C:\Documents and Settings\" & DocName & ".doc" .Close End With Next i End Sub
Merci
naco78