demars | Voir ce message dans le sujet non filtré rufo a écrit :
Bizarre, je vois pas la boucle. J'imagine que ça vient du paramètre Count:=(Nex1 - 1)
Pour le coup d'avoir B en 2ème page, ça vient probablement de cette ligne :
Tempo.ActiveDocument.Pages(2).Shapes.Paste
Tu colles la page en page 2. Faut changer l'indice.
|
J'ai essayé de mettre entre parenthèses (Nex1 + 1) ,mais il aime pas.
J'ai tenté de copier d'abord la page(2), et là, ça marche presque !
Code :
- With ActiveDocument
- .Pages(2).Shapes(1).Copy
- Tempo.ActiveDocument.Pages(2).Shapes.Paste
- Set PageNew2 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex2 - 1), After:=2, DuplicateObjectsOnPage:=1)
- End With
- With ActiveDocument
- .Pages(1).Shapes(1).Copy
- Tempo.ActiveDocument.Pages(1).Shapes.Paste
- Set PageNew1 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex1 - 1), After:=1, DuplicateObjectsOnPage:=1)
- End With
|
J'obtiens A A A A A A A B vide vide !
J'ai donc fini par trouver ! DuplicateObjectsOnPage:=1 copiait la 1ère page, alors que je voulais la 2ème page -> valeur = 2
Au final, ça donne :
Code :
- Sub Sauver2PagesPDF()
- Dim chemin As String, pdfpath As String, page1 As Page, page2 As Page, Tempo As New Publisher.Application, _
- Nex1 As Long, Nex2 As Long, PageNew1 As Page, PageNew2 As Page
- Set page1 = ActiveDocument.Pages(1)
- Set page2 = ActiveDocument.Pages(2)
- chemin = ActiveDocument.Name
- pdfpath = Left(chemin, Len(chemin) - 3)
- Nex1 = 7
- Nex2 = 3
- Tempo.Open Filename:="D:\Imprimer\test.pub"
- With ActiveDocument
- .Pages(2).Shapes(1).Copy
- Tempo.ActiveDocument.Pages(2).Shapes.Paste
- Set PageNew2 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex2 - 1), After:=2, DuplicateObjectsOnPage:=2)
- End With
- With ActiveDocument
- .Pages(1).Shapes(1).Copy
- Tempo.ActiveDocument.Pages(1).Shapes.Paste
- Set PageNew1 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex1 - 1), After:=1, DuplicateObjectsOnPage:=1)
- End With
- Tempo.ActiveDocument.ExportAsFixedFormat pbFixedFormatTypePDF, _
- "D:\Imprimer\" & pdfpath & "pdf"
- Tempo.ActiveDocument.Close
- Set Tempo = Nothing
- End Sub
|
|