Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Creare Macro per invio eMail

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

Creare Macro per invio eMail di un solo foglio

Postdi raimea » 04/06/11 13:41

1)- x antony nessuna intromissione ogni suggerimento e' oro...
per ora preferisco la scelta di avatar di non far vedere tutti i "riceventi" della email e mandarne 1na x volta.
2)- x avatar si' uso la penultima macro perche' come ti dicevo se uso la tua "ultima" mi parte solo una emil
mentre cosi partono giuste a distanza di un minuto, tanto non penso ci siano problemi per il fatto che crei
una cartella nuova ogni volta o sbaglio ? :-?

poi ho aggiunto l'ordinamento delle email in Col BC e il calcolo del tempo :roll:

Codice: Seleziona tutto
Sub invio_un_Solo_Foglio()


scelta = MsgBox(Prompt:=" Stai per Spedire SOLO questo foglio ", Buttons:=vbYesNo, _
Title:=" Mando E.mail ai soci ? ")
If scelta = 6 Then          '6 = SI; 7=No

UserForm2.Show vbModeless
DoEvents
Inizio = Timer

 Range("BB9:BC28").Select ' <<< ordino le email
    Selection.Sort Key1:=Range("BC9"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

UR = Range("BC" & Rows.Count).End(xlUp).Row   '<<< prende gli indirizzi inCol BC
For RR = 9 To UR
Destinat = Range("BC" & RR).Value

Sheets("1-masa1-fogl.base").Copy
Ogget = "luga masaniello  --> email di prova"    ' <<<l' oggetto che vuoi scrivere
ActiveWorkbook.SendMail _
Recipients:=Destinat, Subject:=Ogget

ActiveWindow.Close SaveChanges:=False

Application.Wait (Now + TimeValue("0:01:00"))  '<<< tempo di ritardo tra una e.mail e l'altra

Next RR
   
   Unload UserForm2
      Fine = Timer
MsgBox ("Tempo impiegato " & Int((Fine - Inizio) / 60) & " min " & (Fine - Inizio) Mod 60 & " Sec")
   
   End If

End Sub


ora vedo che le email arrivano con il foglio allegato correttamente
ma hanno solo l' oggetto.
se volessi scrive qualcosa nel contenuto ,qualcosa di fisso ovvio come per -l'oggetto- piu in automatico la data e l'ora :roll:

tipo : " email di masaniello del 4 giugno 2011 delle ore 14.30 "

x ora grazie come al solito.
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 04/06/11 16:23

Non riesco ancora a capire come possa inviarti una sola email se usi la mia macro comunque un minuto mi sembra eccessivo
usa il codice OnTime mettendo 20 secondi invece dei miei 5 (se pensi siano pochi)
e prima dell'invio email e non dopo

per quanto riguarda il messaggio sul corpo dell'email ti dò solo uno spunto in maniera che potrai proseguire da solo
creazione del messaggio con spazi e a capo
Codice: Seleziona tutto
Msg = ""
Msg = Msg & "Spett.le Società," & vbCrLf & vbCrLf
Msg = Msg & "Ho il piacere di comunicarVi che il Vostro bonus settimanale è maturato "
Msg = Msg & "Pippo Caruso" & vbCrLf
Msg = Msg & "Presidente"

Ogni riga che vedi può essere sostituita da un valore di cella o un codice vba come ad esempio
Codice: Seleziona tutto
Format(Date, "dd mmmm yyyy")

Oppure una stringa come la vedi nell'esempio
Poi puoi "trattare" il Messaggio con questo codice
Codice: Seleziona tutto
'Rimpiazza gli spazi con %20 (hex)
Msg = Application.WorksheetFunction.Substitute(Msg, " ", "%20")

e ancora successivamente con questo
Codice: Seleziona tutto
'Rimpiazza gli a capo con %0D%0A (hex)
Msg = Application.WorksheetFunction.Substitute(Msg, vbCrLf, "%0D%0A")

Infine devi inserire nella dicitura di invio email il Body (corpo del messaggio)
che se ora hai così
Codice: Seleziona tutto
ActiveWorkbook.SendMail _
Recipients:=Destinat, Subject:=Ogget

dovrà divenire così
Codice: Seleziona tutto
ActiveWorkbook.SendMail _
Recipients:=Destinat, Subject:=Ogget, body=:Msg

Fai attenzione perché non avendo il tuo programma di posta, il termine body potrebbe darti errore (l'ho adattato)
prova anche con
Codice: Seleziona tutto
&body=Msg
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [Excel] Creare Macro per invio eMail

Postdi raimea » 04/06/11 17:13

ok, penso di aver capito come funziona piu o meno
sto usando come progrm di posta incredimail
e sono riuscito ad inserire il body in modo che non mi da errore.
Codice: Seleziona tutto
ActiveWorkbook.SendMail _
Recipients:=Destinat, Subject:=Ogget, body:=Msg


solo che quando faccio partire la macro mi si ferma con avviso di:
errore di compilazione, impossibile trovare argomento predefinito.

naturalmente ho messo

Codice: Seleziona tutto
Msg = ""
Msg = Msg & "Spett.le Società," & vbCrLf & vbCrLf
Msg = Msg & "Ho il piacere di comunicarVi che il Vostro bonus settimanale è maturato "
Msg = Msg & "Pippo Caruso" & vbCrLf
Msg = Msg & "Presidente"

ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 04/06/11 17:19

Dove ti dà errore?
evidenzia la riga con il debug

Inoltre hai inserito i codici di sostituzione degli spazi nel "Msg"?
come indicato nel post precedente? prima di inviare?
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [Excel] Creare Macro per invio eMail

Postdi raimea » 04/06/11 17:35

l'errore con debug lo da qui a :--> body:=

questa la macro con le istruzioni per gestire gli a.capo e gli spazzi,
spero di averli messi nel punto giusto.
Codice: Seleziona tutto
Sub invio_un_Solo_Foglio()


scelta = MsgBox(Prompt:=" Stai per Spedire SOLO questo foglio ", Buttons:=vbYesNo, _
Title:=" Mando E.mail ai soci ? ")
If scelta = 6 Then          '6 = SI; 7=No

UserForm2.Show vbModeless
DoEvents
Inizio = Timer

 Range("BB9:BC28").Select ' <<< ordino le email e do formto carattere colibri
    Selection.Sort Key1:=Range("BC9"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        Range("BC9:BC28").Select
    With Selection.Font
        .Name = "Calibri"
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
    End With
    With Selection.Font
        .Name = "Calibri"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
    End With
    Selection.Font.Underline = xlUnderlineStyleSingle
    Selection.Font.Underline = xlUnderlineStyleNone
        Selection.Font.ColorIndex = 1
       
      Msg = Application.WorksheetFunction.Substitute(Msg, " ", "%20")  'Rimpiazza gli spazi con %20 (hex)
Msg = Application.WorksheetFunction.Substitute(Msg, vbCrLf, "%0D%0A") 'Rimpiazza gli a capo con %0D%0A (hex)

UR = Range("BC" & Rows.Count).End(xlUp).Row   '<<< prende gli indirizzi inCol BC
For RR = 9 To UR
Destinat = Range("BC" & RR).Value

Sheets("1-masa1-fogl.base").Copy
Ogget = "luga masaniello  --> email di prova"    ' <<<l' oggetto che vuoi scrivere

Msg = ""
Msg = Msg & "Spett.le Società," & vbCrLf & vbCrLf
Msg = Msg & "Ho il piacere di comunicarVi che il Vostro bonus settimanale è maturato "
Msg = Msg & "Pippo Caruso" & vbCrLf
Msg = Msg & "Presidente"

ActiveWorkbook.SendMail _
Recipients:=Destinat, Subject:=Ogget, body:=Msg


ActiveWindow.Close SaveChanges:=False

Application.Wait (Now + TimeValue("0:01:30"))  '<<< tempo di ritardo tra una e.mail e l'altra

Next RR
   
   Unload UserForm2
      Fine = Timer
MsgBox ("Tempo impiegato " & Int((Fine - Inizio) / 60) & " min " & (Fine - Inizio) Mod 60 & " Sec")
   
   End If
Range("c65536").End(xlUp).Offset(1, 0).Select ' posizionati alla prima riga vuota
End Sub
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 04/06/11 17:38

Fai una cosa più semplice (per provare)
Codice: Seleziona tutto
ActiveWorkbook.SendMail _
Recipients:=Destinat, Subject:=Ogget, body:="Ciao"

Se continua a dare errore significa che è errato il termine Body
se invece invia l'email e nel corpo del messaggio trovi scritto Ciao significa che si deve intervenire sulla struttura del messaggio composto da più righe
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Creare Macro per invio eMail di un solo foglio

Postdi raimea » 04/06/11 18:37

giusto il ragionamento per la prova..
purtroppo da lo stesso errore in --> body:=

ho provato a cercare i rete come interpretare questo per incredimail ma non ho trovato nulla.
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 04/06/11 22:51

Si potrebbe usare l'Iperlink in questa maniera

Codice: Seleziona tutto
Sheets("1-masa1-fogl.base").Copy
Ogget = "luga masaniello  --> email di prova"    ' <<<l' oggetto che vuoi scrivere
r = 9
Do While Range("BC" & r) <> ""
Msg = "Ciao"
ThisWorkbook.FollowHyperlink _
"mailto:" & Range("BC" & r)  & "?subject=" & Ogget & "&body=" & Msg & ""
r = r + 1
Application.Wait (Now + TimeValue("0:00:10"))
Application.SendKeys "%s"   
Loop
ActiveWindow.Close SaveChanges:=False
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [Excel] Creare Macro per invio eMail

Postdi Anthony47 » 05/06/11 00:47

Ehi, ma siete sicuri che SendMail consente di inserire un Body??
Qualcosa di simile esiste usando la proprieta' RoutingSlip, per un esempio vedere l' help on line (alla voce "Proprieta' RoutingSlip).
RoutingSlip e' pensato per situazioni diverse (es distribuzione circolare di un documento co-prodotto), non so prevedere se si arrabbiera' quando si sostituira' il primo destinatario con il secondo; probabilmente richiede il clear di HasRoutingSlip.

Ciao

(vedere post di Avatar sopra)
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Creare Macro per invio eMail

Postdi raimea » 05/06/11 06:23

mamma mia non pensavo cosi difficile far scrivere un qualcosa nella email :-?
con la modifica di avarar succede cio':
mi chiude il file originale e rimane aperta la cartella con solo il foglio 1.
mi compila correttamente le email ,1na per destinatario.
C'e' il contenuto del messaggio --> CiAO
non c'e' il foglio allegato.
devo premere io manualmente su invia per far partire la-le email.

pero' il contenuto --ciao - c'e'... :)
ancora grazie.
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 05/06/11 10:41

Girando in questo forum tempo fa trovai questa macro, credo di Anthony
L'uso prevedeva MS Outlook (come vedrai in application) ma potrai vedere se modificando ottieni qualcosa
Non posso provarla perché non ho Ms Outlook
In pratica crea la copia del foglio e lo salva in C:\Temp\
(eventualmente alla fine cancelliamo questa copia)
inoltre ho messo una sola cella BC9 come indirizzo, se funziona in un secondo tempo faremo il loop
Codice: Seleziona tutto
Sub Invioemail2()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String
'  (a)
Set OutApp = CreateObject("Outlook.Application")
'
'compilazione di un testo standard di accompagnamento
BDT = "Ti invio il risultato Portfolio per l'orientamento."
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "Rea"
'
'  (b)
    Sheets("1-masa1-Fogl.Base").Copy
    ChDir "C:\Temp"
    ActiveWorkbook.SaveAs Filename:="C:\Temp\Pippo.xls"
   
OutFile = "C:\Temp\Pippo.xls"
EmailAddr = Range("BC9").Value
Subj = "Invio risultati questionario"
'
Set OutMail = OutApp.CreateItem(0)
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
End Sub

Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [Excel] Creare Macro per invio eMail

Postdi Anthony47 » 05/06/11 12:44

Il codice postato da Avatar funziona previo la conferma SI da dare manualmente ad ogni mail (come d' altra parte con SendMail); esiste una versione ulteriore che fa l' invio senza l' intervento umano, la trovi qui:
viewtopic.php?f=26&t=83835&start=20#p479791

Puo' essere utile leggere velocemente anche questa discussione, dove sono state ripetute un paio di considerazioni che ostacolano (se ignorate) l' automatismo:
viewtopic.php?f=26&t=85263

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Creare Macro per invio eMail di un solo foglio

Postdi raimea » 05/06/11 12:57

quasi ok
con outlook sembra andare..
non e' il mio client preferito ma cio' non mi interessa,
ho creato un accaunt da usare in outlook,
l'email parte con l'allegato,l'allegato e il contenuto di cio che si vuole scrivere.
ho creato in C: la cartella temp.
per prima cosa ora vedo che si devrebbe chiudere e cancellare il file che
si viene a creare in C: temp

inoltre ogni volta outlook mi dice che un programma esterno sta tentando di mandare posta
e qui devo premere si',, come devo settare perche non me lo chieda piu' ?
per ora grazie ancora
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: [Excel] Creare Macro per invio eMail

Postdi Anthony47 » 05/06/11 14:43

Devi leggere il mio messaggio precedente.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Creare Macro per invio eMail di un solo foglio

Postdi raimea » 05/06/11 16:10

okk, ho letto i 2 topic.
io sto usando ancora outlook 2002 e funge..... :o
le email partono con foglio allegato, contenuto e oggetto.

ho trovato come risolvere per premere il pulsante - invia -
ho messo :
Codice: Seleziona tutto
Application.SendKeys "%a"


poi sono riuscito a creare il ciclo che prende gli indirizzi in Col BC.
ora mi manca, non riesco a far si che
il file che si crea in C: temp venga cancellato dopo l'invio
altrimenti ad ogni invio mi chiede che esiste gia e se voglio riscriverlo.
questa e' la macro
Codice: Seleziona tutto
Sub Invioemail2()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String

scelta = MsgBox(Prompt:=" Stai per Spedire SOLO questo foglio ", Buttons:=vbYesNo, _
Title:=" Mando E.mail ai soci ? ")
If scelta = 6 Then          '6 = SI; 7=No

ActiveSheet.Unprotect

UserForm2.Show vbModeless
DoEvents
Inizio = Timer

UR = Range("BC" & Rows.Count).End(xlUp).Row   '<<< prende gli indirizzi inCol BC
For RR = 9 To UR
Destinat = Range("BC" & RR).Value

'  (a)
Set OutApp = CreateObject("Outlook.Application")

BDT = "Ti invio il foglio con le ultime partite." '<<< compilazione di un testo standard di accompagnamento
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "masaniello"
'
'  (b)
    Sheets("1-masa1-Fogl.Base").Copy   '<<< il foglio da spedire
    ChDir "C:\Temp"
    ActiveWorkbook.SaveAs Filename:="C:\Temp\masa1.xls"
   
OutFile = "C:\Temp\masa1.xls"
EmailAddr = Range("BC9").Value
Subj = "Invio elenco partite"
'
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = ""
.BCC = ""
.Subject = Subj
.Attachments.Add OutFile
.Body = BDT
.Display 'or use .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"))

ActiveWindow.Close SaveChanges:=False

Next RR

Unload UserForm2
      Fine = Timer
MsgBox ("Tempo impiegato " & Int((Fine - Inizio) / 60) & " min " & (Fine - Inizio) Mod 60 & " Sec")
   
   End If

End Sub

naturalmente sono ben accette tutte le correzioni...
ciao e grazie
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 05/06/11 16:43

Aggiungi questa riga di codice
Codice: Seleziona tutto
        MsgBox ("Tempo impiegato " & Int((Fine - Inizio) / 60) & " min " & (Fine - Inizio) Mod 60 & " Sec")


   Kill "C:\Temp\masa1.xls"   '<<<<<<<<< qui

   End If
End Sub
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 05/06/11 17:19

Ehm
aspetta
rileggendo la tua macro noto che hai messo la copia del file all'interno del ciclo For.. next di RR
cosa che non dovrebbe avvenire perché crei la copia in C:\Temp e chiudi il file prima del For ... Next
ho cercato di modificare la macro (se l'oggetto dell'email non cambia puoi scrivere anche l'oggetto fuori dal For... next)
prova questa poi ti dirò altre modifiche migliorative
Codice: Seleziona tutto
Sub Invioemail2()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String

scelta = MsgBox(Prompt:=" Stai per Spedire SOLO questo foglio ", Buttons:=vbYesNo, _
Title:=" Mando E.mail ai soci ? ")
If scelta = 6 Then          '6 = SI; 7=No

ActiveSheet.Unprotect

UserForm2.Show vbModeless
DoEvents
Inizio = Timer

UR = Range("BC" & Rows.Count).End(xlUp).Row   '<<< prende gli indirizzi inCol BC

'  (b)
    Sheets("1-masa1-Fogl.Base").Copy   '<<< il foglio da spedire
    ChDir "C:\Temp"
    ActiveWorkbook.SaveAs Filename:="C:\Temp\masa1.xls"
ActiveWindow.Close SaveChanges:=True

BDT = "Ti invio il foglio con le ultime partite." '<<< compilazione di un testo standard di accompagnamento
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "masaniello"
'

For RR = 9 To UR
'Destinat = Range("BC" & RR).Value

'  (a)
Set OutApp = CreateObject("Outlook.Application")


   
OutFile = "C:\Temp\masa1.xls"
EmailAddr = Range("BC" & RR).Value
Subj = "Invio elenco partite"
'
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = ""
.BCC = ""
.Subject = Subj
.Attachments.Add OutFile
.Body = BDT
.Display 'or use .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"))



Next RR

Unload UserForm2
      Fine = Timer
MsgBox ("Tempo impiegato " & Int((Fine - Inizio) / 60) & " min " & (Fine - Inizio) Mod 60 & " Sec")
     Kill "C:\Temp\masa1.xls"
   End If

End Sub
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Creare Macro per invio eMail

Postdi raimea » 05/06/11 17:21

ho oggiunto kill
ma alla 2da email lo trova ancor in C: temp, e mi chiede cosa fare, poi all'ultima email lo cancella

inoltre ho notato che spedisce il num giusto di email ma allo stesso indirizzo causa di questo
Codice: Seleziona tutto
OutFile = "C:\Temp\masa1.xls"
EmailAddr = Range("BC9").Value '<<<<<<
Subj = "Invio elenco aggiornatopartite"

ma non riesco a risolvere .....
quasi ci siamo.. :oops:
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: [Excel] Creare Macro per invio eMail

Postdi Avatar3 » 05/06/11 17:27

forse nel frattempo che scrivevi non hai letto il mio secondo post di correzione macro
Puoi provarla solo tu non ho outlook ma credo funzioni secondo logica
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [Excel] Creare Macro per invio eMail

Postdi raimea » 05/06/11 17:41

siiiii :)
ci siamo accavallati con i post.
ora partono correttamente ai vari indirizzi riportati in col BC
e nella cartella C: temp viene cancellato il file

ultima richiesta
dove scrivo il contenuto del'email
Codice: Seleziona tutto
BDT = "Ti invio il foglio con le ultime partite." '<<< compilazione di un testo standard di accompagnamento
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "masaniello"

vorrei che in automatico mi scriva la data e l'ora di quando e' stata creata l'email
tipo: 6 giugno ore 16.30

PS
mamma mia ma che pazzienta che hai avatar...... :P
ci vorrebbe un pulsante - DONE - nel sito perche' ve lo meritate
gli admin dovrebbero aprire un sondaggio a riguardo.. Favorevoli - Contrari al pulsante DONE ? :?:
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Creare Macro per invio eMail":


Chi c’è in linea

Visitano il forum: enrico43 e 12 ospiti