1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Sub PubliOnePage()
' publipostage avec une page par fiche
Dim i, iR As Integer
Dim oDoc As Document
Dim DocName As String
Dim oDS As MailMergeDataSource
Set oDoc = ActiveDocument
Set oDS = oDoc.MailMerge.DataSource
oDS.ActiveRecord = wdLastRecord
iR = oDS.ActiveRecord
oDS.ActiveRecord = wdFirstRecord
Debug.Print iR
For i = 1 To iR
With oDoc.MailMerge
.DataSource.FirstRecord = i
.DataSource.LastRecord = i
.Destination = wdSendToNewDocument
.Execute
.DataSource.ActiveRecord = i
DocName = "PJ_"
DocName = DocName & .DataSource.DataFields(1).Value
Debug.Print DocName; i
End With
With ActiveDocument
.Protect Password:="1234", NoReset:=False, Type:= _
wdAllowOnlyFormFields, UseIRM:=False, EnforceStyleLock:=False
.SaveAs2 "D:\PJ_DOC\" & DocName & ".docX", wdFormatDocumentDefault
.Close False
End With
Next i
End Sub |
Partager