Condividi:        

covertire circa 400 file word in rispettivi file pdf

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

covertire circa 400 file word in rispettivi file pdf

Postdi scacco al re » 23/01/18 10:45

come da titolo vorrei trasformare documenti word in pdf senza dover fare questo passaggio manualmente file per file.
in pratica vorrei sapere se office contempla una procedura per fare questa operazione in automatico, oppure un file bat da lanciare dal prompt di windows 7 che mi risolva questo problema.
Grazie
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Sponsor
 

Re: covertire circa 400 file word in rispettivi file pdf

Postdi Anthony47 » 23/01/18 13:15

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
Avatar utente
Anthony47
Moderatore
 
Post: 19222
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: covertire circa 400 file word in rispettivi file pdf

Postdi scacco al re » 23/01/18 14:45

Grazie la proverò
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Re: covertire circa 400 file word in rispettivi file pdf

Postdi scacco al re » 26/01/18 15:03

ho provato a lanciare la macro ma mi da questo errore: errore di run time 4248 il comando non è disponibile perchè non c'è nessun file aperto.
la riga dove appare l'errore è questa:
ActiveDocument.Name = myF Then (evidenziata di giallo)

ps il comando Contr-F11 non mi apre nulla la cacro l'ho inserita da visualizza e poi macro
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Re: covertire circa 400 file word in rispettivi file pdf

Postdi Anthony47 » 26/01/18 16:07

Se un errore segnala che "il comando non e' disponibile perche' non c'e' nessun documento aperto" allora mi chiedo DOVE e' stata inserita la macro in esecuzione; l'unica cosa che potrei rispondere e' "Format C:" :-?
L'accesso al "progetto vba" avviene usando ALT-F11, non Contr-F11 come avevo scritto (ho corretto anche nel messaggio datato 23-1); riprova seguendo quella procedura e vediamo se finisce meglio.
Ho pero' notato che l'istruzione Open nella macro E' SBAGLIATA; modifica in
Codice: Seleziona tutto
            On Error Resume Next
                Documents.Open myPath & myF, False, False, False, , , False, "", "", wdOpenFormatAuto       '**** MODIFICATA!
            On Error GoTo 0


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19222
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: covertire circa 400 file word in rispettivi file pdf

Postdi scacco al re » 26/01/18 16:37

Funziona benissimo, Grazie. accorgimento che ho fatto mettere docx al posto di doc, visto che i documenti erano in docx
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Re: covertire circa 400 file word in rispettivi file pdf

Postdi Anthony47 » 26/01/18 16:53

Con Dir(myPath & "*.doc") estrai sia i .doc che i .docx che i .docm

Comunque a posto cosi'.
Avatar utente
Anthony47
Moderatore
 
Post: 19222
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "covertire circa 400 file word in rispettivi file pdf":


Chi c’è in linea

Visitano il forum: Nessuno e 64 ospiti