Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1068 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macros MS Publisher 2007 (Topic Unique ?)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macros MS Publisher 2007 (Topic Unique ?)

n°2429434
demars
Posté le 16-10-2022 à 17:11:53  profilanswer
 
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.


Tu penses au "After:=2" c'est ça ?
J'ai essayé de copier/coller d'abord la page2, et ensuite la page1, mais je me suis emmelé quelque part...
 
De toutes façons, je pense qu'il y a un problème plus général. Je pensais utiliser Duplicate ou Copy/Paste, mais là il y a les 2. Je crois que j'ai perdu un peu le fil...  [:vizera]

mood
Publicité
Posté le 16-10-2022 à 17:11:53  profilanswer
 

n°2429444
demars
Posté le 16-10-2022 à 19:16:49  profilanswer
 
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 :
  1. With ActiveDocument
  2.                     .Pages(2).Shapes(1).Copy
  3.                     Tempo.ActiveDocument.Pages(2).Shapes.Paste
  4.                     Set PageNew2 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex2 - 1), After:=2, DuplicateObjectsOnPage:=1)
  5.                 End With
  6.                 With ActiveDocument
  7.                     .Pages(1).Shapes(1).Copy
  8.                     Tempo.ActiveDocument.Pages(1).Shapes.Paste
  9.                     Set PageNew1 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex1 - 1), After:=1, DuplicateObjectsOnPage:=1)
  10.                 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 :
  1. Sub Sauver2PagesPDF()
  2.     Dim chemin As String, pdfpath As String, page1 As Page, page2 As Page, Tempo As New Publisher.Application, _
  3.     Nex1 As Long, Nex2 As Long, PageNew1 As Page, PageNew2 As Page
  4.         Set page1 = ActiveDocument.Pages(1)
  5.         Set page2 = ActiveDocument.Pages(2)
  6.             chemin = ActiveDocument.Name
  7.             pdfpath = Left(chemin, Len(chemin) - 3)
  8.             Nex1 = 7
  9.             Nex2 = 3
  10.             Tempo.Open Filename:="D:\Imprimer\test.pub"
  11.                 With ActiveDocument
  12.                     .Pages(2).Shapes(1).Copy
  13.                     Tempo.ActiveDocument.Pages(2).Shapes.Paste
  14.                     Set PageNew2 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex2 - 1), After:=2, DuplicateObjectsOnPage:=2)
  15.                 End With
  16.                 With ActiveDocument
  17.                     .Pages(1).Shapes(1).Copy
  18.                     Tempo.ActiveDocument.Pages(1).Shapes.Paste
  19.                     Set PageNew1 = Tempo.ActiveDocument.Pages.Add(Count:=(Nex1 - 1), After:=1, DuplicateObjectsOnPage:=1)
  20.                 End With
  21.                        Tempo.ActiveDocument.ExportAsFixedFormat pbFixedFormatTypePDF, _
  22.                        "D:\Imprimer\" & pdfpath & "pdf"
  23.         Tempo.ActiveDocument.Close
  24.         Set Tempo = Nothing
  25. End Sub

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macros MS Publisher 2007 (Topic Unique ?)

 

Sujets relatifs
[BATCH MS-DOS] Code retour ERRORLEVEL différent suivant mode lancementPiloté en VBA, Word 2013 se comporte différemment que Word 2007/10
Souci de conversion de code 2007 vers 2013[Divers]Cherche compileur C++ sur MS Windows 7 32bits : => portmidi
Build sur Gnu/Linux pour MS Windows et/ou MacSelection de valeurs d'un champ TCD fonctionne sur 2007 mais pas 2010
[Excel 2007] Problème pour trouver le nombre de ligne d'une feuilleProblème Macro excel 2007
Boucle et opération sur string en MS-DOSComment répartir aléatoirement 500h par an avec EXCEL 2007?
Plus de sujets relatifs à : Macros MS Publisher 2007 (Topic Unique ?)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR