Da Outlook a consigli



  • Da Outlook a... consigli
    di Nando (utente non iscritto) data: 25/08/2017 09:57:54

    Buongiorno,
    vi spiego il mio problema e vi chiedo un consiglio e l'indicazione della strada da seguire, non ho codice pronto per ora.
    Ogni mese ricevo N email con lo stesso contenuto del tipo

    ----------------------
    Buongiorno, bla bla bla

    Nome: blabla
    Codice:Tizio
    Data:01-01-2017
    altre info inutili
    --------------------------

    le classifico tutte con una regola outlook ma poi devo ricopiare il Codice e la Data su un excel.
    Con un macro posso farlo in automatico?
    Pensavo conviene copiare tutto in una Nota di Outlook, così da restare nello stesso applicativo, che dite?

    Ogni consiglio è ben accetto, grazie

    Nando



  • di scherman data: 25/08/2017 09:59:43

    sono un pirla ho scritto senza loggarmi, chiedo scusa



  • di Vecchio Frac data: 25/08/2017 18:13:25

    Non serve affatto copiare tutto in una Nota, la macro scritta in Outlook può accedere al messaggio in arrivo, aprire una connessione a Excel, inserirvi il dato e chiudere Excel salvando, tutto senza problemi.
    La cosa può avvenire real time: cioè man mano che ricevi una mail il sistema può essere in grado di capire se è interessante perchè magari ha un oggetto predeterminato o perchè viene da un mittente specifico.
    Può anche avvenire in un secondo tempo perchè Outlook può scandire le mail ricevute e occuparsi solo di quelle non ancora processate.
    Dipende tutto dallo scenario e dall'esigenza reale. Se ricevi queste mail solo durante il giorno lavorativo può aver senso lavorare con Outlook aperto che intercetta le mail man mano che arrivano. Se le mail arrivano anche mentre non hai il pc acceso (o sei in ferie, sei in vacanza, sei malato, ma i clienti dialogano ugualmente via mail) allora conviene che la procedura scandaglia le mail non lette e le cataloga non appena avvii Outlook o lanci la macro manualmente.
    Nota che puoi fare tutto anche lato Excel, cioè apri il programmino Excel che si interfaccia ad Outlook, legge le mail e cataloga quelle non lette, eccetera.
    Dal punto di vista operativo è equivalente.





  • di scherman data: 13/09/2017 09:31:35

    Niente... ho cercato vari spunti, punti di partenza ma non ci sono riuscito.
    Amen.
    Grazie lo stesso, continuerò a fare a manella.



  • di Luca73 data: 13/09/2017 09:58:00

    Ciao
    Se tu hai delle regole all'interno delle regole outlook puoi fare partire delle macro Outlook (le chiama script) con una macro outlook puoi aprire un file excel, cercare nalla mail ciò di cui hai bisogno e scriverlo nel file excel e poi chiudere il file excel.
    excel e outlook parlano la stessa lingua.
    Io spesso ho fatto il contrario cio lavorare su outlook partendo da excel

    Quello che vedi sotto per esempio ti copia in un file excel il sender e l'oggetto della mail
    io l'ho pravato facendolo partire in automatico con una regola che cerca pippo nell'oggetto e funziona.
    Va modificato per il tuo caso
    Ciao
    Luca


     
        
        Dim oXLApp As Object, oXLwb As Object, oXLws As Object
        Dim lRow As Long
    
        On Error Resume Next
        Set oXLApp = GetObject(, "Excel.Application")
    
        '~~> If not found then create new instance
        If Err.Number <> 0 Then
            Set oXLApp = CreateObject("Excel.Application")
        End If
        Err.Clear
        On Error GoTo 0
    
        '~~> Show Excel
        oXLApp.Visible = True
    
        '~~> Open the relevant file
        Set oXLwb = oXLApp.Workbooks.Open("C:Usersma0366500-TRAVAINITravaini TEMPLTLT.xlsm")
    
        '~~> Set the relevant output sheet. Change as applicable
        Set oXLws = oXLwb.Sheets(1)
    
        lRow = oXLws.Range("A" & oXLApp.Rows.Count).End(-4162).Row + 1
    '-4162 = xlup
        '~~> Write to outlook
        With oXLws
            '
            '~~> Code here to output data from email to Excel File
            '~~> For example
            '
            .Range("A" & lRow).Value = MyMail.Subject
            .Range("B" & lRow).Value = MyMail.SenderName
            '
        End With
    
        '~~> Close and Clean up Excel
        oXLwb.Close (True)
        oXLApp.Quit
        Set oXLws = Nothing
        Set oXLwb = Nothing
        Set oXLApp = Nothing
    
    
    End Sub