Condividi:        

ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

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

ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi scanacc » 25/07/16 17:56

Carissimi, uso questa MACRO per inviare mail ed allegare FILE. Funziona tutto benissimo ma adesso vorrei fare in modo di poter allegare più FILE anche 3 o quattro. Non so cosa cambiare. Potete aiutarmi?
PS ecco il codice che uso
Codice: Seleziona tutto
Sub PROVAMAIL2007b()


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")
''compilazione del testo di accompagnamento
OutFile = Cells(Range("G4").Value, "O").Value

For I = 5 To Range("H100").End(xlUp).Row
    BDT = BDT & Cells(I, "H").Value & 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
.Body = BDT & IMMAGINE
.send
'.Display 'or use .send
'.send
End With

'  (c)
Set OutMail = Nothing
'
'  (d)
Set OutApp = Nothing


End Sub
scanacc
Utente Senior
 
Post: 350
Iscritto il: 06/12/15 10:30

Sponsor
 

Re: ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi Anthony47 » 26/07/16 01:18

Per inserire piu' allegati devi replicare l'istruzione; es
Codice: Seleziona tutto
.Attachments.Add OutFile1
.Attachments.Add OutFile2
.Attachments.Add OutFile3

Vedi se riesci a risolvere partendo da questo spunto, altrimenti scrivi ancora spiegando dove sei arrivato e dove invece ti sei arenato.

Io prima di Set OutMail = Nothing inserire una attesa almeno di 1 secondo, altrimenti prima o poi la mail viene annullata prima di essere spedita:
Codice: Seleziona tutto
Application.Wait (Now + TimeValue("0:00:01"))


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

Re: ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi scanacc » 31/07/16 09:28

Grazie!!!! Appena posso provo. Ciao e grazie di nuovo
scanacc
Utente Senior
 
Post: 350
Iscritto il: 06/12/15 10:30

Re: ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi scanacc » 31/07/16 13:22

Perfetto!!!
Ho inserito il percorso di Outfile1, ho detto di allegarlo ed ho specificato le condizioni.
GRAZIE!!!

Codice: Seleziona tutto
Sub ANTEPRIMA_MAIL()
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")
''compilazione del testo di accompagnamento
OutFile = Cells(Range("A1").Value, "G").Value

OutFile1 = Cells(Range("A1").Value, "H").Value

For I = 5 To Range("K100").End(xlUp).Row
    BDT = BDT & Cells(I, "K") & LF
Next I
''  (b)
Nominat = Cells(Range("A1").Value, "B").Value
EmailAddr = Cells(Range("A1").Value, "C").Value
Subj = Range("K4").Value
'
EmailAddr1 = Cells(Range("A1").Value, "D").Value
Subj = Range("K4").Value
EmailAddr2 = Cells(Range("A1").Value, "E").Value
Subj = Range("K4").Value
EmailAddr3 = Cells(Range("A1").Value, "F").Value
Subj = Range("K4").Value
'
'IMMAGINE = "<BR>" & "<img src=" & PERCORSOFILEIMMAGINE & "/></b><br>"
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = EmailAddr1 & ";" & EmailAddr2 & ";" & EmailAddr3
.BCC = ""
.Subject = Subj
If Cells(Range("A1").Value, "G").Value <> "" Then
.Attachments.Add OutFile
End If

If Cells(Range("A1").Value, "H").Value <> "" Then
.Attachments.Add OutFile1
End If

.Body = BDT
'.send
.Display 'or use .send
'.send
End With

'  (c)
Set OutMail = Nothing
'
'  (d)
Set OutApp = Nothing


End Sub

scanacc
Utente Senior
 
Post: 350
Iscritto il: 06/12/15 10:30

Re: ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi scanacc » 31/07/16 13:24

PS Perchè hai detto:
Io prima di Set OutMail = Nothing inserire una attesa almeno di 1 secondo, altrimenti prima o poi la mail viene annullata prima di essere spedita:
scanacc
Utente Senior
 
Post: 350
Iscritto il: 06/12/15 10:30

Re: ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi Anthony47 » 01/08/16 11:21

PS Perchè hai detto:
Io prima di Set OutMail = Nothing inserire una attesa almeno di 1 secondo, altrimenti prima o poi la mail viene annullata prima di essere spedita
Per errore! Volevo scrivere
Io prima di Set OutMail = Nothing raccomando di inserire una attesa almeno di 1 secondo, altrimenti prima o poi la mail viene annullata prima di essere spedita.
Se infatti nella tua macro usi il ".Send" per inviare il messaggio (come scritto nel tuo codice iniziale) e subito dopo il messaggio viene distrutto (Set OutMail = Nothing) allora prima o poi succedera' che il messaggio non verra' spedito.

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

Re: ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi scanacc » 01/08/16 16:48

Grazie ... ma non riesco a capire il perchè debba accadere questo anche se ovviamente lo ho poi inserito perchè mi fido ciecamente!!!! ;-)
scanacc
Utente Senior
 
Post: 350
Iscritto il: 06/12/15 10:30

Re: ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO

Postdi Anthony47 » 02/08/16 01:37

Il comando OutMail.Send non e' ad esecuzione istantanea, viene "passato" ad Outlook per la sua esecuzione; se prima che Outlook completi l'accodamento (l'invio avverra' con molto piu' ritardo) la macro distrugge il messaggio allora succedera' qualcosa di strano...

Comunque hai fatto... la scelta giusta!
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "ALLEGARE PIU' FILE IN UNA MAIL INVIATA TRAMITE MACRO":


Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti