firma nella email



  • firma nella email
    di rita (utente non iscritto) data: 11/03/2013 10:36:45

    ciao a tutti l'istruzione qui sotto e' un esempio che utilizzo per inviare delle email
    premesso che nel foglio excel ho reinserito i miei dati relativi al mio nome cognome etc per ricostruire la firma in calce
    e' possibile poter inserire nella email la firma in automatico senza doverla ricostruire ogni volta?
     
    Sub email()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim EmailAddr As String
    Dim Subj As String
    Dim BodyText As String
    Set OutApp = CreateObject("Outlook.Application.12")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
    .TO = xxxx 'a chi e' indirizzata
    .CC = yyyy 'per conoscenza
    .Subject = xxxxx 'oggetto
    .Body = AAAAAAAAAAA 'TESTO EMAIL
    .DISPLAY
    .SEND
    End With
    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub



  • di totygno71 data: 11/03/2013 10:48:32

    mmm...

    secondo me finito il testo della email(Body) con qualche bel Chr(13) ce la puoi fare!



  • di Vecchio Frac data: 11/03/2013 11:21:05

    Voglio sperare che al posto della sfilza di AAAAAAAA ci metti una bella stringa di testo con il corpo del messaggio, ed ecco quindi che il consiglio di totygno è appropriato. Alla stringa di testo che compone il Body devi aggiungere la firma separandola con un paio di ritorni a capo.
    Se la firma è elaborata, con stili, formattazione, colori, non è garantito che quel che apparirà nella mail sia quello che vuoi perchè dipende dal formato della mail (se è in solo testo si perde la formattazione).
    Attenzione inoltre che non si dovrebbe mescolare .Display con .Send (o l'uno o l'altro).





  • di rita (utente non iscritto) data: 11/03/2013 12:50:44

    inizialmente grazie per la risposta
    gia' utilizzo i ritorni a capo ed inserisco la firma ed i vari dati prendendoli dalle caselle del foglio excel
    il problema e' proprio quello che hai descritto ossia la formattazione
    infatti se inserisco la firma digitale appare in formato differente.
    Se provassi ad utilizzare sempre il comando sendkeys dove potrei trovare il relativo codice del pulsante firma?
    avete un'idea



  • di totygno71 data: 11/03/2013 15:33:00

    Cara Rita

    Credo che Fracch ti abbia già risposto il perchè si perde la formattazione...
    per quanto riguarda il codice pulsante firma, io personalmente non ho capito cosa intendi... ma forse Fracch si... attendiamo!

    Ciao



  • di Vecchio Frac data: 11/03/2013 15:51:09

    @rita
    Credo che tu si riferisca al pulsante della firma che compare in Outlook quando si scrive un nuovo messaggio.
    Proviamo a fare le cose semplici, poi eventualmente approfondiamo.
    Dovresti impostare Outlook affinchè inserisca in ogni nuovo messaggio la firma formattata come vuoi tu (Strumenti --> Opzioni --> Formato posta; scegli la firma per i nuovi messaggi).






  • di HarryBosch data: 11/03/2013 15:54:08

    Un saluto a tutti.
    Vi propongo un metodo che utilizzo in ufficio e che funziona perfettamente con la versione 2007 (e credo successive di Outlook): creo le firme direttamente in Outlook; per esempio noi utilizziamo una firma diversa a seconda che la mail sia indirizzata ai clienti, ai tecnici o agli uffici interni.

    Le firme create in Outlook vengono salvate in una cartella specifica, il cui percorso potrebbe essere leggermente diverso, ma simile a questo:
    “C:UsersVanniAppDataRoamingMicrosoftSignatures”
    All’interno di questa cartella si trovano le firme create.

    Nel body aggiungo quindi il messaggio e il riferimento .htm, ritrovandomi quindi la firma creata in Outlook, con le relative formattazioni.

     
    Sub email()
        Dim OutApp As Object
        Dim OutMail As Object
        Dim EmailAddr As String
        Dim Subj As String
        Dim BodyText As String
        Set OutApp = CreateObject("Outlook.Application.12")
        Set OutMail = OutApp.CreateItem(0)
    
        'path completo dove è contenuta la propria firma di posta nel sistema
        firme = "C:UsersVanniAppDataRoamingMicrosoftSignaturesTecnici.Htm"
        If Dir(firme) <> "" Then
            signature = GetBoiler(firme)
        Else
            signature = ""
        End If
    
        With OutMail
            .To = "xxxx"    'a chi e' indirizzata
            .CC = "yyyy"    'per conoscenza
            .Subject = "xxxxx"    'oggetto
            .HTMLBody = "AAAAAAAAAAA" & strbody & "

    " & signature .Display End With Set OutMail = Nothing Set OutApp = Nothing End Sub Function GetBoiler(ByVal sFile As String) As String Dim fso As Object Dim ts As Object Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) GetBoiler = ts.readall ts.Close End Function



  • di HarryBosch data: 11/03/2013 15:56:15

    @Rita
    hai testato la sub per la divisione dei fogli Word, che ti ho inserito nell'altro Thread?



  • di Vecchio Frac data: 11/03/2013 15:58:05

    "getboiler"? una funzione che costruisce una caldaia? LOL
    Harry tutto perfetto, mi era venuta in mente una cosa simile, ma volevo procedere per gradi con rita, se le basta impostare di default la firma nelle nuove risposte allora è a posto.
    Certo la tua soluzione per differenziare le firme è assolutamente valida... e anzi da appuntarsela: non lo faccio solo perchè so che se mi servirà ci sarai tu a fornirmela ^_^





  • di HarryBosch data: 11/03/2013 16:10:55

    getboiler, più o meno ^_^
    diciamo che è una delle (tante) funzioni salvate nel mio archivio magico :)
    che magari si usano raramente ma al momento giusto tornano buone.

    Il nome è rimasto dai tempi in cui anch'io avevo preso tale spunto da qualche parte, di cui però non ho traccia dell'origine.. all'inizio, ahimè, non mi prendevo la briga di registrarmi anche la fonte.



  • di totygno71 data: 11/03/2013 17:05:15

    Susate ma questa me la ruBBBo... che mi servirà sicuramente!
    tnx



  • di rita (utente non iscritto) data: 12/03/2013 07:53:46

    inizialmente ringrazio per le solleciti risposte
    in particolare HarryBosch, ho utilizzato con profitto la tua istruzione e funziona perfettamente
    a tal proposito volevo chiederti se c'e' un sistema anche per spuntare il flag o inserire nella email creata anche la conferma richiesta di lettura da parte di chi la riceve.
    < HarryBosch> Quello che mi avevi inizialmete postato relativamenta alla suddivisione dei file word andava benissimo
    L'altra devo ancora provarla.
    Grazie in ogni caso a tutti.





  • di rita (utente non iscritto) data: 12/03/2013 08:01:38

    Mi accorgo ora di una cosa ossia
    quando creo la email la firma e il corpo bianco della email mi viene mantenuta la formattazione iniziale del carattere ma il testo che scrivo (nell'esempio "aaaaaaaaa") mi viene inserita una formattazione diversa.
    Non si puo' mantenere la formattazione iniziale?
    ps. formattazione nomrale e' arial mentrwe mi inserisce Times new Roman



  • di HarryBosch data: 13/03/2013 08:51:41

    Vero... si potrebbe agire sempre tramite la formattazione in Html, una cosa del tipo sotto.
    Per andare a capo devi utilizzare
    , o due uniti per un doppio invio.

    Per quanto riguarda la conferma di lettura l'istruzione è:
    ReadReceiptRequested = True
     
        With OutMail
            .ReadReceiptRequested = True
            .to = "xxxx"    'a chi e' indirizzata
            .CC = "yyyy"    'per conoscenza
            .Subject = "xxxxx"    'oggetto
            
            .HTMLBody = "" _
                    & "Alla c.a. del Sig. " & "
    " _ & "AAAAAAAAAA" & "

    " _ & "Buona giornata
    " _ & "
    " & "

    " _ & signature .Display End With



  • di HarryBosch data: 13/03/2013 08:56:03

    Niente... il corpo "giallo" si è mangiato il pezzo che avevo postato. La scrittura in Html non gli piace ^_^
    Ti allego il file con il codice...



  • di RITA (utente non iscritto) data: 13/03/2013 11:38:05

    in ogni caso la cosa prioritaria era la spunta di ricezione della email
    ti ringrazio molto.
    ps ti ho risposto anche per il file word che funziona egregiamente
    ....grazie anche a vecchio frac