Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Outlook invio posta con excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Outlook invio posta con excel

Postdi scanacc » 27/06/18 13:48

Ciao boys, ho una macro che da un FILE Excel mi genera le mail da inviare
Codice: Seleziona tutto
Sub PROVAMAIL2007()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String
Const LF = vbCrLf
'  (a)
PERCORSOFILEIMMAGINE = """C:\io.JPG"""

Set OutApp = CreateObject("Outlook.Application")
Outfile = Cells(Range("G4").Value, "O").Value

For I = 5 To Range("H100").End(xlUp).Row
    BDT = BDT & Cells(I, "H") & LF
Next I

''  (b)
Nominat = Cells(Range("G4").Value, "A").Value
EmailAddr = Cells(Range("G4").Value, "B").Value
Subj = Range("H4").Value
'
EmailAddr1 = Cells(Range("G4").Value, "C").Value
Subj = Range("H4").Value
EmailAddr2 = Cells(Range("G4").Value, "D").Value
Subj = Range("H4").Value
'
IMMAGINE = "<BR>" & "<img src=" & PERCORSOFILEIMMAGINE & "/></b><br>"
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = EmailAddr1 & ";" & EmailAddr2
.BCC = ""
.Subject = Subj
If Cells(Range("G4").Value, "O").Value <> "" Then
.Attachments.Add Outfile
End If
.htmlBody = BDT & IMMAGINE
'.send
.Display 'or use .send
'.send
End With
'  (c)
Set OutMail = Nothing
'
'  (d)
Set OutApp = Nothing
End Sub


Anzichè generare la mail da Posta di Outlook come potrei far generare una mail di "Nuova Riunione" sempre da Outlook ma dal CALENDARIO?
Grazie per l'attenzione
scanacc
Utente Senior
 
Post: 171
Iscritto il: 06/12/15 10:30

Sponsor
 

Re: Outlook invio posta con excel

Postdi Anthony47 » 29/06/18 00:09

Non conosco il Calendario di Outlook, quindi non sono in grado di essere preciso; pero' secondo me tu devi inviare una mail di invito per un meeting, per cui valgono le seguenti considerazioni:
La tua istruzione OutApp.CreateItem(0) crea un "Mail Item"; se vuoi creare invece un Appointment Item devi usare Set OutMail = OutApp.CreateItem(1)

Comunque trovi nell'help online di Excel un esempio con il codice completo; vedi https://msdn.microsoft.com/en-us/vba/ou ... od-outlook

Siccome tu non vorrai impostare il riferimento alla libreria vba di Outlook ma lavori con CreateObject("Outlook.Application") allora ricorda che devi usare le enumerazioni di Outlook, e non l'equivalente nome della costante, e poi le variabili che fanno riferimento a oggetti Outlook devono essere dichiarati come Object (e non, ad esempio, Recipient).
Per CreateItem, le enumerazioni che ti serve conoscere sono 0=MailItem e 1=AppointmentItem
Altre enumerazioni usate nel codice:
1=olRequired
2=olOptional
3=olResource
1=olMeeting

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 16689
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Outlook invio posta con excel

Postdi scanacc » 05/07/18 19:44

Ci lavorerò anche se mi sembra per me troppo difficile.
Un'altra domanda:
Se volessi (sempre con il codice iniziale) inviare le mail generate con flag su "Richiedi conferma di Lettura per il messaggio"?
Grazie per l'attenzione
scanacc
Utente Senior
 
Post: 171
Iscritto il: 06/12/15 10:30

Re: Outlook invio posta con excel

Postdi Anthony47 » 06/07/18 00:05

Per la richiesta di ricevuta, devi aggiungere
Codice: Seleziona tutto
With OutMail
.ReadReceiptRequested = True           '<<< QUESTA, QUI

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 16689
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Outlook invio posta con excel

Postdi scanacc » 06/07/18 23:52

Perfect!
scanacc
Utente Senior
 
Post: 171
Iscritto il: 06/12/15 10:30


Torna a Applicazioni Office Windows


Topic correlati a "Outlook invio posta con excel":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti