excel pdf



  • excel pdf
    di vence82 (utente non iscritto) data: 19/03/2013 18:29:06

    Salve,
    ho un file excel di 200 righe.
    Vorrei che una macro mi stampasse ogni riga in un file pdf (pdfcreator)
    (per ogni riga un file pdf) e che automaticamente mi salvasse con nome il file
    con il contenuto di una cella specifica.

    Grazie 1000



  • di Vecchio Frac data: 19/03/2013 18:44:12

    PDFCreator espone un modello COM con tutta l'interfaccia necessaria per l'automazione.
    Nella guida di PDFCreator è spiegato bene tutto e ci sono pure degli esempi (c'è un wizard che crea anche il codice necessario).
    Ti dico così per instradarti perchè in ufficio ho tutto pronto, qui a casa no ma si può fare :)

    ..oppure con una versione di Excel superiore o uguale a 2007 risolvi il problema perchè nativamente salva in formato pdf.




  • vba excel e pdf
    di vence82 (utente non iscritto) data: 19/03/2013 21:37:54

    Si ma non so usare pdf creator se mi puoi dare una dritta



  • di Vecchio Frac data: 20/03/2013 11:00:52

    Mi hai scritto in privato, ti rispondo sia via email che qui così forniamo una soluzione per tutti.
    Prova questo pezzo di codice da inserire in un modulo di Word; questo codice crea il file pippo.pdf dal documento corrente e lo mette nella cartella G:TEST.

     
    Option Explicit
    
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    
    Public Sub save_to_pdf()
    Dim oPDFCreator As Object, DefaultPrinter As String, c As Long, OutputFilename As String
       
        Set oPDFCreator = CreateObject("PDFCreator.clsPDFCreator")
        oPDFCreator.cStart "/NoProcessingAtStartup"
        With oPDFCreator
            .cOption("UseAutosave") = 1
            .cOption("UseAutosaveDirectory") = 1
            .cOption("AutosaveDirectory") = "G:TEST"     '<--- cartella destinazione
            .cOption("AutosaveFilename") = "pippo.pdf"    '<--- nome del file
            .cOption("AutosaveFormat") = 0          ' PDF
            DefaultPrinter = ActivePrinter
            .cDefaultprinter = "PDFCreator"
            .cClearCache
            .cPrinterStop = False
            DoEvents
            ActiveDocument.PrintOut Background:=False
            DoEvents
            .cDefaultprinter = DefaultPrinter
            Sleep 1000
            .cClose
        End With
        
        Set oPDFCreator = Nothing
    End Sub