Risultati da 1 a 18 di 18

Discussione: stampare tutta la cartella in pdf



  1. #1
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    stampare tutta la cartella in pdf

    Buonasera a tutti , vi espongo il mio problema :
    io ho una cartella dove all'interno ho circa 1500 file excel e dovrei stamparli tutti con PDF creato in un unica volta.
    I file sono nella cartella " CHECK LIST "e i file si chiamano "check list n°" .
    Come dovrei impostare la macro per far si di stampare tutti i file con un semplice comando?
    La cartella di destinazione si chiama "CHECK LIST.pdf"

  2. #2

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Ciao Ste

    Giusto per capire meglio (non so se sarò in grado di dare una soluzione) tu vuoi creare un singolo file PDF che contenga al suo interno tutti i 1500 file della directory "CHECK LIST" (ciascuno con tutti i suoi fogli) oppure vuoi avere 1500 file PDF ognuno dei quali riproduca i file di Excel di "CHECK LIST"?

    Alfredo

  3. #3
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    Re: stampare tutta la cartella in pdf

    Buonasera Alfredo , io avrei la necessità che vengano creati i 1500 file in pdf.

    Grazie per l'interessamento

  4. #4

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Ah bene! Se fosse stata la prima ipotesi che avevo ventilato sarebbe stato ben più complicato (e non so se fattibile).

    Domani faccio qualche prova (credo sia abbastanza semplice) e mi faccio risentire però non so con 1500 file quanto tempo possa occorrere.

    Alfredo

  5. #5
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    Re: stampare tutta la cartella in pdf

    Grazie per l'interesse Alfredo.
    Andrebbe benissimo eventualmente un comando per esportare ogni singolo file in PDF anzichè stamparlo.

    Buona serata

    Stefano

  6. #6

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Quello che volevo fare io è un'unica macro che una volta lanciata apra (uno alla volta) i 1500 file di "CHECK LIST" e li salvi in PDF in "CHECK LIST PDF"

    Tu devi solo eseguire la macro e null'altro.

    Alfredo

  7. #7
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    Re: stampare tutta la cartella in pdf

    Alfredo hai centrato in pieno l'obbiettivo.
    Grazie

  8. #8
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17

    Re: stampare tutta la cartella in pdf

    sono di fretta, ma penso che sia risolvibile, adattadola, una registrazione macro per il primo foglio e poi applicargli un ciclo for-next

  9. #9

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Ciao Stefano ed un caro saluto a zio_tom

    Potresti provare con questa macro

    Codice: 
    Sub CreaFilePDF()
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim nfgl As String
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder("C:\CHK LIST")
    Application.ScreenUpdating = False
    For Each objFile In objFolder.Files
        nfgl = objFile.Name
        Workbooks.Open (objFile)
        Windows(nfgl).Activate
        ActiveWorkbook.Sheets(1).Select
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\CHK LIST PDF\" & objFile.Name & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
        True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        ActiveWorkbook.Close SaveChanges:=False
    Next objFile
    Application.ScreenUpdating = True
    End Sub
    Prima di lanciarla devi avere una directory denominata "C:\CHK LIST" (che credo che ci sia già) con tutti i tuoi file ed una directory vuota denominata "C:\CHK LIST PDF".

    Prima di "lanciarti" con i tuoi 1500 file fai qualche prova con 4/5 giusto per esser sicuri che il tutto funzioni; io ho provato con tre file e mi pare che vada bene.

    Ovviamente il file dal quale lanci la macro non deve stare in "C:\CHK LIST".

    Prova e fai sapere.

    Alfredo

  10. I seguenti 2 utenti hanno dato un "Like" a alfrimpa per questo post:


  11. #10
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    Re: stampare tutta la cartella in pdf

    Alfredo sei un grande!!!! funziona alla perfezione
    Grazie mille

  12. #11

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Grazie Stefano

    Solo per curiosità hai provato con tutti i 1500 file? Se si quanto ci ha messo?

    Alfredo

  13. #12
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    Re: stampare tutta la cartella in pdf

    Ciao Alfredo , si ho provato con i 1500 file e ci ha messo circa 25 minuti.
    Ancora grazie

  14. #13

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Beh neanche tanto

    Ma il codice lo hai un po' capito o è "materia oscura" ? Provo a spiegare

    Con questo codice si dimensionano le variabili (oggetto) necessarie oltre ad una variabile String (nfgl) che accoglierà il nome del file

    Codice: 
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim nfgl As String
    Con questo si valorizzano le variabili oggetto

    Codice: 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder("C:\CHK LIST")
    Disattivazione dell'aggiornamento dello schermo (per evitare "sfarfallii")

    Codice: 
    Application.ScreenUpdating = False
    Con questo invece

    Codice: 
    For Each objFile In objFolder.Files
        nfgl = objFile.Name
        Workbooks.Open (objFile)
        Windows(nfgl).Activate
        ActiveWorkbook.Sheets(1).Select
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\CHK LIST PDF\" & objFile.Name & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
        True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        ActiveWorkbook.Close SaveChanges:=False
    Next objFile
    Inizio un ciclo For Each ....Next dove per ogni file presente nella directory "C:\CHK FILE" faccio questo:

    1) Memorizzo nella variabile nfgl il nome del file
    2) Apro il file
    3) Seleziono la finestra del file che ho aperto
    4) Faccio il salvataggio della cartella attiva (ossia del file in questione) nella directory "C:\CHK LIST PDF\" attribuendo lo stesso nome del file .xls
    5) Chiudo il file non richiedendo il salvataggio

    Con questa riabilito l'aggiornamento dello schermo

    Codice: 
    Application.ScreenUpdating = True
    Se vuoi avere maggiori informazioni sul "FileSystemObject" guarda questo link

    https://msdn.microsoft.com/it-it/lib...(v=vs.71).aspx

    Spero di essere stato chiaro e di non aver detto castronerie/inesattezze sennò scossa (ciao Marco) chi lo sente?

    Alfredo

  15. I seguenti utenti hanno dato un "Like"


  16. #14
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    Re: stampare tutta la cartella in pdf

    Il codice l'ho capito e sinceramente avevo anche iniziato a farlo , registrando una macro ...Il problema è che mi mancano le basi del linguaggio per dirgli cosa deve fare e come

    Stefano

  17. #15

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Stefano poco più sopra ho cercato di spiegare il codice.

    Alfredo

  18. #16
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: stampare tutta la cartella in pdf

    @alfrimpa (ciao)
    Nulla da dire sul codice, ognuno scrive "nel modo che ha imparato"
    Solo e sicuramente che non è questo il caso, io uso >>>nomeFile = Dir(Percorso1 & "*.xls*")
    Solo e unicamente, ci fossero altri file presenti non di excel.

    Volevo chiederti due cose se Ti è possibile.
    1) Come mai mi era sparita la possibilità si salvare PDF con 2007. L'unica cosa fatta è stato d'installare OpenOffice ???
    Comunque già rimediato con SaveAsPDFandXPS.exe

    2) Secondo Te (1500 file), in questo caso specifico (eventulmente per il futuro)
    Fare una distinzione di file riusciti ed altri no.
    Stavo provando (On error resume next), ma non riuscivo a distinguere l'errore che genera.
    Se tutto OK scriveva in colonna A il file, se casomai ci fosse stato un errore scrivi "nomefile" in colonna B (questa la parte mancante)

    Codice: 
    Option Explicit
    Sub salva_PDF()
        Dim Percorso1 As String, Percorso2 As String, nomeFile As String, nome As String, Ur, Rg As Object
        Ur = Range("A" & Rows.Count).End(xlUp).Row + 1
        Percorso1 = ThisWorkbook.Path & "\"
        Percorso2 = Percorso1 & "PDF\"
        Application.ScreenUpdating = False
        nomeFile = Dir(Percorso1 & "*.xls*")
        Do While nomeFile <> ""
            If nomeFile <> ThisWorkbook.Name Then
                Set Rg = Sheets("Foglio1").Range("A1:A5000").Find(nomeFile, LookIn:=xlValues, LookAt:=xlWhole)
                If Rg Is Nothing Then
                    nome = Left(nomeFile, InStr(nomeFile, ".") - 1) & ".pdf"
                    Workbooks.Open (Percorso1 & "\" & nomeFile)
                    Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Percorso2 & nome, Quality:=xlQualityStandard, _
                    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
                    Workbooks(nomeFile).Close False
                    Sheets("foglio1").Cells(Ur, 1) = nomeFile
                    Ur = Ur + 1
                End If
            End If
            nomeFile = Dir
        Loop
        Application.ScreenUpdating = True
        MsgBox "Finito"
    End Sub

  19. #17

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6759
    Versione Office
    2013
    Likes ricevuti
    714
    Likes dati
    164

    Re: stampare tutta la cartella in pdf

    Ciao Raffaele

    Sicuramente la Dir era una delle strade possibili ma io ho cominciato con il FileSystemObject ed ho continuato su quella.

    Io ho anche il 2007 e la possibilità di salvare in PDF c'è; non ho capito tu a cosa fai riferimento.

    Non capisco cosa intendi quando dici: "Fare una distinzione di file riusciti ed altri no".

    Puoi spiegare in poche parole che fa la tua macro? Io per provarla dovrei ricostruire tutto lo scenario (e sicuramente sono meno bravo di te).

    Alfredo

  20. #18
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: stampare tutta la cartella in pdf

    Ciao
    >>>Io ho anche il 2007 e la possibilità di salvare in PDF c'è
    Pure io, però oggi cercando di rispondere ho visto che era sparita la voce (PDF o XPS)
    Comunque risolto tramite il file della Microsoft

    >>>che fa la tua macro?
    Salva tutti i file presenti, nella cartella (Con presente una cartella = PDF)
    Mà questo non ha importanza, solo volevo capire come gestire eventuali errori

    Avrei voluto fare una distinzione, se il file è stato salvato?
    Vado ad scrivere in colonna A >>>Sheets("foglio1").Cells(Ur, 1) = nomeFile

    Nel caso avessi messo >>> On Error Resume Next
    Ed per qualche motivo non fosse salvato, desideravo mettere in colonna B il nomeFile
    Non sono bravo a spiegarmi...

Discussioni Simili

  1. Macro per stampare una selezione A1:046
    Di filippo nel forum Domande su Excel VBA e MACRO
    Risposte: 5
    Ultimo Messaggio: 14/02/17, 17:35
  2. Risposte: 16
    Ultimo Messaggio: 08/02/17, 15:07
  3. [Risolto] Con VBA Cerca File in Cartella e copia in altra cartella
    Di ginofamilio nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 28/01/17, 13:50
  4. da una cartella A creare un pulsante nella cartella B ed associarlo ad una routine di B
    Di cinziorecoaro nel forum Domande su Excel VBA e MACRO
    Risposte: 0
    Ultimo Messaggio: 15/04/16, 14:17
  5. Stampare solo un grafico
    Di alfrimpa nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 23/02/16, 19:59

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •