salva pdf in base a menu a tendina



  • salva pdf in base a menu a tendina
    di mcy (utente non iscritto) data: 02/03/2017 10:36:13

    Buongiorno,
    so che è possibile creare una macro che salva in pdf un foglio di lavoro in base al nome contenuto in una cella (nel mio caso b3).

    Tuttavia, b3, contiene un valore che può essere modificato con menu a tendina.. in particolare ho 21 possibilità.
    Vorrei un file pdf per ogni valore che può essere inserito in b3.
    Quindi 21 pdf con i 21 nomi diversi.

    Grazie



  • di alfrimpa data: 02/03/2017 13:49:23

    Ciao mcy

    Ma il PDF deve essere creato ogni volta che scegli un elemento in B3 oppure tutti e 21 insieme?

    Alfredo




  • salva pdf in base a menu a tendina
    di mcy (utente non iscritto) data: 02/03/2017 14:47:16

    Sì tutte insieme senza che si faccia il cambio manualmente della tendina



  • di alfrimpa data: 02/03/2017 16:21:36

    Allora copia tutti i valori in altra colonna (io ho supposto la AA e lancia la macro che vedi sotto.

    Alfredo
     
    Sub SalvaPDF()
    Dim myPath As String
    Dim i As Integer
    myPath = ActiveWorkbook.Path & ""
    For i = 1 To 21
        ActiveWorkbook.SaveAs Filename:=myPath & Range("AA" & i).Value & ".pdf", FileFormat:= _
            xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    Next
    End Sub
    





  • salva pdf in base a menu a tendina
    di mcy (utente non iscritto) data: 03/03/2017 11:02:53

    FANTASTICO!!! GRAZIEEEEE

    Ultima cosa, mi ha creato i file ma non me li fa aprire...

    mi dice:

    "Adobe Reader non è in grado di aprire i file perchè è un tipo di file non supportato oppure perchè il file è stato danneggiato (ad esempio è stato inviato in allegato a una mail o non è stato decodificato correttamente."





  • di alfrimpa data: 03/03/2017 11:20:06

    Prova così.

    Alfredo
     
    Sub SalvaPDF()
    Dim myPath As String
    Dim i As Integer
    myPath = "c:Excel" <===== Modifica con il tuo percorso
    For i = 1 To 21
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            myPath & Range("AA" & i).Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
            True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next
    End Sub





  • salva pdf in base a menu a tendina
    di mcy (utente non iscritto) data: 03/03/2017 13:29:20

    Ora mi apre i file ma non mi modifica i dati del foglio in base alla tendina, seppur i nomi dei file pdf siano correttamente diversi



  • di alfrimpa data: 03/03/2017 14:20:06

    mcy onestamente non ho capito bene quel che vuoi fare.

    Se vuoi salvare ogni pdf con in B3 il nome del file prova la macro qui sotto.

    Se non è così allega un file di esempio e sulla base di quello spiega quello che vuoi fare/ottenere.

    Alfredo

    P.S. Prima avevo dimenticato di dire che la colonna AA va nascosta altrimenti ti viene nel PDF.
     
    Sub SalvaPDF()
    Dim myPath As String
    Dim i As Integer
    myPath = "c:Excel" <===== Modifica con il tuo percorso
    For i = 1 To 21
    Range("B3").Value = Range("AA" & i).Value
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            myPath & Range("AA" & i).Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
            True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next i
    End Sub