Impression par lot

Le
HB
Bonjour,

Je sais que cela concerne Word mais m.p.f.word semble endormi
Toutefois, cela concerne surtout VBA
et je sais que certain(E)s
ici en savent long sur le sujet ;o)

donc .

Y'a des doc & docx dans un dossier

Je voudrais faire une macro VBA qui les imprime
( avec "Microsoft Print to pdf")
- dans un dossier que je choisis au lancement

TRUC.doc donnera tout simplement TRUC.pdf
donc les noms ne seront pas demandés.


Faire une boucle pour balayer de répertoire ça ira.
Choisir la bonne imprimante aussi

Mais
je n'ai pas trouvé où transmettre
- les noms des pdf
- le lieu d'enregistrement

pour que ça se fasse tout seul ;o(

Merci d'avance,

HB




L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26416002
Bonjour,
Essaie ceci :
Macro à copier dans un module d'un fichier Word
'-------------------------------------------------------------
Sub Macro1()
Dim D As Document
Dim Chemin As String
Dim Fichier As String
Dim Nom As String
Chemin = "c:UsersMichDDocuments"
Fichier = Dir(Chemin & "*.do*")
Application.ScreenRefresh = False
Do While Fichier <> ""
Nom = Split(Fichier, ".")(0)
Set D = Documents.Open(Chemin & Fichier)
D.ExportAsFixedFormat OutputFileName:=Chemin & Nom & ".pdf", _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:úlse, _
OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
True, UseISO19005_1:úlse
If UCase(Fichier) <> UCase(ThisDocument.Name) Then
D.Close False
End If
Fichier = Dir()
Loop
Application.ScreenRefresh = True
End Sub
'-------------------------------------------------------------
MichD


"HB" a écrit dans le message de groupe de discussion :
581f947e$0$24791$
Bonjour,
Je sais que cela concerne Word mais m.p.f.word semble endormi ...
Toutefois, cela concerne surtout VBA
et je sais que certain(E)s
ici en savent long sur le sujet ;o)
donc ....
Y'a des doc & docx dans un dossier...
Je voudrais faire une macro VBA qui les imprime
( avec "Microsoft Print to pdf")
- dans un dossier que je choisis au lancement
TRUC.doc donnera tout simplement TRUC.pdf
donc les noms ne seront pas demandés.
Faire une boucle pour balayer de répertoire ... ça ira.
Choisir la bonne imprimante aussi...
Mais
je n'ai pas trouvé où transmettre
- les noms des pdf
- le lieu d'enregistrement
pour que ça se fasse tout seul ;o(
Merci d'avance,
HB

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus
Avast.
https://www.avast.com/antivirus
HB
Le #26416055
Bonsoir,
Premier test parfaitement concluant
après avoir fait qq modifs
1) j'ai changé le chemin "Chemin" ;o)
2) j'ai ajouté un chemin "Sortie" pour OutputFileName
Ce chemin sera plus tard modifiable
avec la boite de dialogue standard SaveAs ...
3) Avec ma version de word (Office Pro Plus 2013),
Application.ScreenRefresh n'existe pas
c'est Application.ScreenUpdating
(que j'utilise souvent aussi avec Excel)
En fait ta macro utilise l'outil de conversion en pdf qui est prévu.
( par enregistrez sous -> pdf)
Pour ma part, comme j'avais eu des pb avec certains pdf faits ainsi,
j'utilise l'imprimante pdf de MS qui fait du très bon boulot.
J'avais oublié cette autre possibilité.
Le résultat m'a l'air nickel .
Merci beaucoup !!!
HB

Le 07/11/2016 à 14:04, MichD a écrit :
Bonjour,
Essaie ceci :
Macro à copier dans un module d'un fichier Word
'-------------------------------------------------------------
Sub Macro1()
Dim D As Document
Dim Chemin As String
Dim Fichier As String
Dim Nom As String
Chemin = "c:UsersMichDDocuments"
Fichier = Dir(Chemin & "*.do*")
Application.ScreenRefresh = False
Do While Fichier <> ""
Nom = Split(Fichier, ".")(0)
Set D = Documents.Open(Chemin & Fichier)
D.ExportAsFixedFormat OutputFileName:=Chemin & Nom & ".pdf", _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:úlse, _
OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True,
BitmapMissingFonts:= _
True, UseISO19005_1:úlse
If UCase(Fichier) <> UCase(ThisDocument.Name) Then
D.Close False
End If
Fichier = Dir()
Loop
Application.ScreenRefresh = True
End Sub
'-------------------------------------------------------------
MichD


"HB" a écrit dans le message de groupe de discussion :
581f947e$0$24791$
Bonjour,
Je sais que cela concerne Word mais m.p.f.word semble endormi ...
Toutefois, cela concerne surtout VBA
et je sais que certain(E)s
ici en savent long sur le sujet ;o)
donc ....
Y'a des doc & docx dans un dossier...
Je voudrais faire une macro VBA qui les imprime
( avec "Microsoft Print to pdf")
- dans un dossier que je choisis au lancement
TRUC.doc donnera tout simplement TRUC.pdf
donc les noms ne seront pas demandés.
Faire une boucle pour balayer de répertoire ... ça ira.
Choisir la bonne imprimante aussi...
Mais
je n'ai pas trouvé où transmettre
- les noms des pdf
- le lieu d'enregistrement
pour que ça se fasse tout seul ;o(
Merci d'avance,
HB

---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Publicité
Poster une réponse
Anonyme