Potrebbe aiutarti questa macro di Word, dando per scontato che hai Office 2010 o superiore (non ricordo come si comporta Office 2007):
- Codice: Seleziona tutto
Sub Word2Pdf()
'vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=109339
Dim myPath As String, ErrF As String, myF As String, mOut As String
'
myPath = "C:\Users\USERNAME\Downloads\" '<<< La dir con i file da convertire, con lo \ finale
WordBasic.DisableAutoMacros 1
ErrF = "Non processati:"
myF = Dir(myPath & "*.doc")
Do While myF <> ""
DoEvents
If myF <> ThisDocument.Name Then
tf = tf + 1
On Error Resume Next
Documents.Open myPath & myF, False, False, False, , , False, "", "", wdOpenFormatAuto 'Nota ****
On Error GoTo 0
If ActiveDocument.Name = myF Then
pdff = myPath & Left(myF, InStr(1, myF, ".doc", vbTextCompare) - 1)
ActiveDocument.ExportAsFixedFormat OutputFileName:=pdff _
, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentWithMarkup, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
ActiveDocument.Close wdDoNotSaveChanges
Else
ErrF = ErrF & vbCrLf & myF & " vs " & ActiveDocument.Name
End If
End If
myF = Dir
Loop
mOut = ("Completato, n° file " & tf)
If Len(ErrF) > 18 Then mOut = mOut & ErrF
MsgBox mOut
WordBasic.DisableAutoMacros 0
End Sub
Crea un nuovo file word, accedi al suo "progetto vba" usando
Alt-F11 (Nota***); inserisci un Modulo Standard di vba (Menu /Inserisci /Modulo) e copiaci dentro il codice.
La riga marcata <<< va personalizzata come da commento.
Quando sei pronto mandi in esecuzione la Sub Word2Pdf: Alt-F8, selezioni Word2Pdf dall'elenco delle macro disponibili, premi Esegui.
La macro aprira' tutti i ".doc*" presenti nella directory dichiarata e li esportera' come pdf nella stessa directory; un messaggio finale confermera' il completamento della macro, compreso il numero di file trattati ed eventualmente quali file non sono stati processati correttamente.
Il processo richiede il tempo che serve ad aprire i file, salvarli, chiuderli; diciamo 1-5 secondi per file a seconda della complessita' dei file.
Ciao
Nota***: queste parti sono state modificate il 26-1-2018