Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Impression par lot

2 réponses
Avatar
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

2 réponses

Avatar
MichD
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
Avatar
HB
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