Nell' esempio linkato non viene usato Stampa unione, ma si risolve tutto in excel; se il tuo obiettivo e' spedire una mail a un elenco di destinatari scritto su excel, con un testo standard (al massimo con l' inserimento di nome e cognome e qualche altro dato variabile) e con un allegato fisso (in quell' esempio l' allegato variava in funzione del nominativo) puoi usare la stessa tecnica.
Riporto qui la macro del primo link, aggiungendo (in MAIUSCOLO) alcuni commenti utili all' interpretazione del codice e quindi al suo adattamento ai tuoi bisogni:
- Codice: Seleziona tutto
Sub Invioemail()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String 'FIN QUI E' SONO "DICHIARAZIONI"
' (a)
Set OutApp = CreateObject("Outlook.Application")
''compilazione di un testo standard di accompagnamento 'LA VARIABIE BDT VIENE COMPILATA CON UN TESTO STANDARD
BDT = "Ti invio il risultato Portfolio per l'orientamento."
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "Rea"
'' (b)
Nominat = Sheets("Scheda").Range("C5").Value 'E' IL NOME DESTINATARIO, A TE NON SERVE
OutFile = "C:\ESITI\" & Nominat & "_ScrSh.jpg" 'NOME DEL FILE ALLEGATO; PER TE SARA' FISSO E NON VARIABILE, es "C:\Document and Settings\pippo\documenti\allegato.doc"
EmailAddr = Range("h5").Value 'INDIRIZZO EMAIL, PRESO DA h5 DEL FOGLIO CORRENTE
Subj = "Invio risultati questionario" 'OGGETTO DELLA MAIL
'
Set OutMail = OutApp.CreateItem(0) 'DA QUI SI CREA E INVIA LA MAIL
With OutMail
.To = EmailAddr
.CC = ""
.BCC = ""
.Subject = Subj
.Attachments.Add OutFile
.Body = BDT
.Display 'or use .send
'.send
End With
' (c)
Set OutMail = Nothing
'
' (d)
Set OutApp = Nothing
Application.Wait (Now + TimeValue("0:00:04"))
Application.SendKeys "%a"
Application.Wait (Now + TimeValue("0:00:04"))
'
'Rename Image files
'Name "C:\ESITI\" & Nominat & "_ScrSh.jpg" As "C:\ESITITX\ " & Nominat & "_ScrSh.jpg"
End Sub
Le righe che cominciano con "apostrofo" sono da ignorare perche' non interpretate.
Comincia a creare un foglio dove in H5 c' e' un indirizzo email (mi raccomando di fare tutti i test con indirizzi tuoi, in modo da controllare l' esito se ok e di non creare incidenti di comunicazione se l' esito fosse diverso dall' atteso).
Poi:
1) Alt-F11 per aprire l' editor delle macro
2) Menu /Inserisci /Modulo
3) copia il testo della macro e incollalo nel frame di dx
4) torna su excel e disegna un Pulsante (trovi questa forma nella barra degli strumenti Moduli)
5) Associa la macro Invioemail al pulsane (ti sara' fatta una domanda specifica durante la creazione del pulsante)
6) Correggi la macro, in particolare per inserire il vero nome del file da allegare e per compilare BDT col testo che vuoi inserire nel corpo della email.
A questo punto chiudi Outlook e tramite il Pulsante lancia la macro; se visualizza qualcosa che non sia un messaggio di errore non intervenire e lascia procedere, potrebbe richiedere vari secondi. Se invece escono messaggi di errore premi Debug e segnala tipo di errore e riga evidenziata.
Una volta che funziona con un destinatario proveremo con un elenco di destinatari.
Ciao