STAMPA PDF E INVIO MAIL



  • STAMPA PDF E INVIO MAIL
    di stefano (utente non iscritto) data: 08/10/2013 09:22:12

    Salve ragazzi ho due problemi da affrontare
    PRIMO PROBLEMA:Vorrei creare un tasto in un foglio di excel dove, cliccandogli sopra, mi genera dell'area di stampa un pdf e me la invii a un indirizzo mail preso dalla cella A1
    E' fattibile????

    SECONDO PROBLEMA: vorrei creare una magro che è in grado di eseguire un filtro sulle colonne A,B,C,I creandomi un menu a tendina dove posso selezionare cosa devo filtrare.
    Successivamente deve stampare in pdf e creare una mail.
    E' fattibile????
    grazie






  • di Grograman data: 09/10/2013 10:19:35

    Direi che tendenzialmente la risposta è sì ad entrambe le domande.

    Per l'invio via mail (con outlook) ti riporto una routine di esempio che ho scovato tra gli appunti.
    Dato un elenco di indirizzi in colonna A manda a tutti la stessa mail.

    Va smontata e rimontata sulle tue esigenze (quindi prima una routine che salvi il pdf, e il pdf stesso dovrà diventare l'allegato).
     
    Option Explicit
    Sub mailviamail()
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''richiede l'attivazione della libreria microsoft outlook 14.0 object library''''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      Dim OutApp As Object
      Dim OutMail As Object
      Dim wb As Workbook
      Dim ws As Worksheet
      Dim strAdd As String
      Dim strBody As String
      Dim x As Long, i As Long
      Set wb = ThisWorkbook
      Set ws = wb.Sheets(1) ''qui il foglio con l'elenco
      Set OutApp = CreateObject("Outlook.Application")
      OutApp.Session.Logon
      With ws
        x = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To x
          Set OutMail = OutApp.CreateItem(0)
          strAdd = .Range("A" & i) 'QUI METTERE LA COLONNA DOVE HAI L'INDIRIZZO
          strBody = "Campo 1: " & .Range("B" & i) & vbCrLf & vbCrLf & _
          "Campo 2: " & .Range("C" & i) & vbCrLf & vbCrLf & _
          "Campo 3: " & .Range("D" & i) & vbCrLf & vbCrLf & _
          "Campo 4: " & .Range("E" & i) & vbCrLf & vbCrLf
          On Error Resume Next
          With OutMail
            .To = strAdd
            .CC = ""
            ''.Attachments.Add ("C:	uo_file.pdf")  'QUI GLI ALLEGATI
            .BCC = ""
            .Subject = "Oggetto che vuoi mettere"
            .Body = strBody
            .Send 'or use .Display
            .ReadReceiptRequested = False
          End With
          Set OutMail = Nothing
        Next i
      End With
      Set OutApp = Nothing
      Set wb = Nothing
      Set ws = Nothing
    End Sub



  • di stefano (utente non iscritto) data: 09/10/2013 11:15:04

    GRAZIE MILLEEEEEEEEEEEEEEEEEEEEE