VBA Word volledige map van documenten opslaan als pdf

Status
Niet open voor verdere reacties.

annetiti

Gebruiker
Lid geworden
6 aug 2007
Berichten
195
Dag

Graag had ik een volledige map van bestaande word-documenten(vb 100 documenten) opgeslagen als pdf documenten (100 pdf bestanden).
Zou dit mogelijk zijn via een macro?
VOor een actief document heb ik deze macro. Maar dan moet ik elk bestand apart openen.

Sub Opslaan_als_PDF()
'
' Opslaan als PDF Macro
'
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
Replace(ActiveDocument.FullName, ".docx", ".pdf"), _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, Item:= _
wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
End Sub

Weet iemand raad?
Alvast bedankt
Anne
 
Je zult elk document apart moeten openen en opslaan als je het op deze manier wilt doen. Dat kun je nog wel automatiseren door met de DIR opdracht de documenten in een map uit te lezen, te openen, converteren en weer sluiten. Je zou hooguit een probleem kunnen krijgen met timing, omdat de macro vermoedelijk sneller wordt uitgevoerd dan de handeling.
 
Je zou hooguit een probleem kunnen krijgen met timing
Zelf ben ik veel meer met Excel bezig van waar ik vaak shell-opdrachten uitvoer. Daar vang ik dat op met WaitOnReturn=True. Het zou mij verbazen als dat niet ook in Word zou werken.
 
Vba Word naar pdf

Dag

Goede tip van Octafish.

Zal misschien ook lukken met opslaan als naar een .pdf bestand.

Eens uittesten!

bedankt voor jullie reacties.

groeten Anne
 
Opslaan als pdf

Dag

Het is me gelukt om de pdf bestanden op te slaan.

Groetjes Anne


Sub GetAllFileNames()
Dim FolderName As String
Dim FileName As String
Dim xfilename As String
Dim pathname As String
FolderName = "XXXX"
sFolderName = "YYYY"
'pathname = Dir(FolderName, vbDirectory)
FileName = Dir(FolderName & "*.docx")


Do While FileName <> ""
Debug.Print FileName
xfilename = Left(FileName, Len(FileName) - 4)

strPath = strPath & Application.PathSeparator

ActiveDocument.ExportAsFixedFormat OutputFileName:= _
sFolderName & " PDF" & xfilename & ".pdf", _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, _
OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, _
IncludeDocProps:=True, _
CreateBookmarks:=wdExportCreateWordBookmarks, _
BitmapMissingFonts:=True


FileName = Dir()
Loop

End Sub
[/SIZE]
 
Code:
Sub M_snb()
   c00 = "G:\OF\"
   c01 = Dir(c00 & "*.docx")
   
   Do While c01 <> ""
     With GetObject(c00 & c01)
       .ExportAsFixedFormat Replace(.FullName, ".docx", ".pdf"), 17
       .Close 0
      End With
   Loop
End Sub
 
Ontbreekt daar nu geen instructie binnen die loop?
Code:
Sub M_snb()
   c00 = "G:\OF\"
   c01 = Dir(c00 & "*.docx")
   
   Do While c01 <> ""
     With GetObject(c00 & c01)
       .ExportAsFixedFormat Replace(.FullName, ".docx", ".pdf"), 17
       .Close 0
     End With
     [B][COLOR="#0000FF"]c01=Dir[/COLOR][/B]
   Loop
End Sub
 
@Enigma

Dat lijkt me een heel terechte aanvulling :thumb:
 
Dag

de code klopt met de code c01=dir

Bedankt voor jullie hulp
groetjes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan