Excel e gli applicativi Microsoft Office macro invio email

Login Registrati
Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
  • Autore
    Articoli
  • #2899 Score: 0 | Risposta
    Ciao a tutti,
    potreste cortesemente aiutarmi a capire come mai la macro del documento allegato, una volta creata l'email da inviare, non inserisce la firma predefinita di Outlook?
    Inoltre, è possibile formattare il testo (body) mettendo, ad esempio una parola in grassetto?
    Grazie
    Allegati:
    You must be logged in to view attached files.
    #2902 Score: 0 | Risposta

    albatros54
    Moderatore
      89 pts
      Ti posto il codice che ho modificato, dove ti inserisce la firma(nel mio caso l'ho inserita nel codice, pero se tu l'hai memorizzata, inserisci il path ) e ho messo una frase in grassetto, poi segui questo link
      https://www.rondebruin.nl/win/s1/outlook/signature.htm
      Sub invio_email_allegato()
          Dim AppMail As Object    'Outlook.Application
          Dim NewMail As Object    'Outlook.Application
          Dim miaDir
          Dim MioWBK As Workbook
          Dim MioSheet As Worksheet
          Dim Nome As String
          Dim Cognome As String
          Dim indirizziTO As String
          Dim IndirizziCC As String
          Dim NomeFile As String
          Dim Oggetto As String
          Dim Testo As String
      
          Set MioWBK = ActiveWorkbook
          Set MioSheet = ActiveWorkbook.Sheets("ALLEGATO")
          miaDir = MioWBK.Path
          Nome = MioSheet.Range("D15")
          Data = MioSheet.Range("E15")
          NomeFile = "CP_" & Nome & ".pdf"
          Sheets("ALLEGATO").Select
          ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                          miaDir & "/" & NomeFile, Quality:= _
                                          xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                          OpenAfterPublish:=False
          Sheets("Foglio1").Select
          On Error Resume Next
          Set AppMail = GetObject(, "Outlook.Application")
          If Err.Number <> 0 Then
              Err.Clear
              Set AppMail = CreateObject("Outlook.Application")
              AppMail.Session.Logon
      
              If Err <> 0 Then
                  MsgBox "Could not load Outlook", vbOKOnly + vbInformation, "Error report"
                  End
              End If
          End If
          indirizziTO = Email.Range("A2") & "; " & Email.Range("a3") & "; " & Email.Range("a4") & "; " & Email.Range("a5")
          IndirizziCC = Email.Range("b2") & "; " & Email.Range("b3") & "; " & Email.Range("b4") & "; " & Email.Range("b5") & "; " & Email.Range("b6") & "; " & Email.Range("b7")
          Set NewMail = AppMail.CreateItem(0)
          Signature = "
      Qual e il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)" Oggetto = "Esito lavoro-" & Nome Testo = "Buongiorno," Testo = Testo & " invio il file " & Nome & " con data " & Data & "" & vbCrLf Testo = Testo & " " & vbCrLf Testo = Testo & "
      " & "Cordiali Saluti" & vbCrLf With NewMail .To = indirizziTO .CC = IndirizziCC .Subject = Oggetto .htmlbody = Testo & "
      " & "
      " & Signature .Attachments.Add miaDir & "/" & NomeFile .Display End With NewMail.Display End Sub

       

      Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?
      ( Alan Turing)
      #2905 Score: 0 | Risposta
      Ciao Albatros,
      ti ringrazio per la rapidissima risposta! Per quanto riguarda l'inserimento della firma, intendevo quella che propone Outlook quando viene creata una nuova email (quella memorizzata con il suo testo e la sua formattazione) come avviene con questa macro

      Private Declare Function ShellExecute Lib "shell32.dll" _
      Alias "ShellExecuteA" (ByVal hWnd As Long, _
      ByVal lpOperation As String, ByVal lpFile As String, _
      ByVal lpParameters As String, ByVal lpDirectory As String, _
      ByVal nShowCmd As Long) As Long

      Sub Email_test()
      Dim Destinatario, oggetto, Msg As String

      Destinatario = "abc@gmail.xyz;"
      Destinatario2 = "abcd@gmail.xyz;"
      Destinatario3 = "abcde@gmail.xyz;"

      oggetto = "oggetto email prova"

      oggetto = Application.WorksheetFunction. _
      Substitute(oggetto, " ", "%20")
      Msg = "mailto:" & Destinatario & Destinatario2 & Destinatario3 & "?subject=" & oggetto
      Call ShellExecute(0&, vbNullString, Msg, vbNullString, vbNullString, vbNormalFocus)

      End Sub

      #2906 Score: 0 | Risposta

      albatros54
      Moderatore
        89 pts

        Scusa, ma nel codice che hai postato non vedo nessuna firma

        Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?
        ( Alan Turing)
        #2912 Score: 0 | Risposta
        È corretto, non c'è nessuna firma nella macro ma appena viene creata l'email , viene caricata la firma salvata in Outlook
        #2984 Score: 0 | Risposta
         Non si può risolvere quindi?
        #3080 Score: 0 | Risposta

        Luca73
        Partecipante
          58 pts
          Ciao
          si puo' risolvere in questa maniera:
          With NewMail
                  .To = indirizziTO
                  .CC = IndirizziCC
                  .Subject = Oggetto
                  .htmlbody = Testo & "
          " & "
          " & Signature .Attachments.Add miaDir & "/" & NomeFile .Display End With va modificato come
           With NewMail
                  .display
           .To = indirizziTO
                  .CC = IndirizziCC
                  .Subject = Oggetto
                  .htmlbody = Testo & "
          " & "
          " & .htmlbody .Attachments.Add miaDir & "/" & NomeFile .Display End With
           Praticamente fai visualizzare la mail così ti carica la firma poi modifichi il body e gli aggiungi il vecchio body che contiene la firma.
          Esiste una discussione vecchia in cui tale argomento era stato spiegato.
          Prova a cercarla....
          Ciao
          Luca
          #3161 Score: 0 | Risposta
          grazie!
        Login Registrati
        Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
        Rispondi a: macro invio email
        Gli allegati sono permessi solo ad utenti REGISTRATI
        Le tue informazioni: