Publipostage
naco78
Messages postés
7
Statut
Membre
-
naco78 Messages postés 7 Statut Membre -
naco78 Messages postés 7 Statut Membre -
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