Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL - creazione macro per invio automatico 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

Re: EXCEL - creazione macro per invio automatico email

Postdi zuzzumaja » 14/01/10 21:42

chiedo aiuto, ho letto questi post ma credo di non aver trovato la soluzione al mio problema, in pratica io ho una macro che genera un file "prova.xls" e vorrei che lo inviasse automaticamente con outlook ad un indirizzo di posta predefinito "prova@tin.it", mi date una dritta ?? ringrazio anticipatamente
zuzzumaja
Utente Junior
 
Post: 65
Iscritto il: 26/08/09 13:34

Sponsor
 

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 15/01/10 14:48

Con il metodo ActiveWorkbook.SendMail dovresti riuscirci; ci hai provato, e quali risultati ottieni?

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi zuzzumaja » 15/01/10 22:47

Sub EMail()
Workbooks.Open Filename:="C:\Prova.xls"
Application.Dialogs(xlDialogSendMail).Show "prova@tin.it"
ActiveWindow.Close

Con questa istruzione, prende il file, lo allega, ma non invia l'e-mail, come inserisco il comando per l'invio ??

grazie
zuzzumaja
Utente Junior
 
Post: 65
Iscritto il: 26/08/09 13:34

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 16/01/10 00:22

Con questa istruzione, prende il file, lo allega, ma non invia l'e-mail, come inserisco il comando per l'invio ??
Come da prima risposta data in cima alla discussione:
Codice: Seleziona tutto
Destin = "a.pippo@dominio.it"   
ActiveWorkbook.SendMail Recipients:=Destin, Subject:="Ciao"
Da mettere al posti di Application.Dialogs(xlDialogSendMail).Show "prova@tin.it"

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re:

Postdi zuzzumaja » 16/01/10 19:32

il problema è lo stesso di questo utente..... :!:

P.S. avevo già visto il primo thread, ma l'unico modo per non far comparire questo messaggio, era la macro ti ho indicato io, dove manca solo il comando per tasto invio..

help


eleinad75 ha scritto:Grazie per la risposta.
Ho inserito nella macro del pulsante il testo da te consigliato.
Cliccandoci sopra mi appare questo messaggio:

UN PROGRAMMA STA TENTANDO DI INVIARE AUTOMATICAMENTE LA POSTA ELETTRONICA.

CONSENTIRE L'OPERAZIONE?

SE L'OPERAZIONE NON E' PREVISTA POTREBBE TRATTARSI DI UN VIRUS,
PERTANTO SCEGLIERE NO.


SI NO


Cliccando su SI il messaggio mi viene parcheggiato tra la posta in uscita. Per inviarlo occorre che clicchi sul tasto INVIO.

Puoi aiutarmi a risolvere quest'altro problema?
Grazie
zuzzumaja
Utente Junior
 
Post: 65
Iscritto il: 26/08/09 13:34

Re: EXCEL - creazione macro per invio automatico email

Postdi Flash30005 » 16/01/10 20:43

Non specifichi quale Outlook hai,
Outook di Office oppure Outlook Express?
Con Outlook di Office non ci sono problemi con l'Express bisogna escogitare uno stratagemma.

Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 16/01/10 23:46

Per zuzzumaja: se non le dici le cose io non me le immagino.
Eleinad75 aveva il problema che la posta le rimaneva parcheggiata in Posta in Uscita (fintanto che non pigiasse Invia /Ricevi).
Guarda la macro Sub Invioemail() sviluppata con Flash per tutamimetica qui: viewtopic.php?f=26&t=83835&p=479791#p479791
Dovrai modificare l' allegato, sostituendo questa OutFile = "C:\ESITI\" & Nominat & "_ScrSh.jpg" con questa: OutFile = ActiveWorkbook.FullName

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi zuzzumaja » 17/01/10 11:10

Grazie per la pazienza, siete grandissimi ho risolto con l'ultima indicazione di Anthony

P.s. ho trovato anche un software freeware che consente di ovviare alla richiesta:
UN PROGRAMMA STA TENTANDO DI INVIARE AUTOMATICAMENTE LA POSTA ELETTRONICA.
CONSENTIRE L'OPERAZIONE?
SE L'OPERAZIONE NON E' PREVISTA POTREBBE TRATTARSI DI UN VIRUS,
PERTANTO SCEGLIERE NO.


credo lo stratagemma di cui accennava Flash:
qyesto l'indirizzo: http://www.contextmagic.com/express-clickyes/

Grazie ancora per la disponibilità, spero di essere stato anche io di aiuto :D
zuzzumaja
Utente Junior
 
Post: 65
Iscritto il: 26/08/09 13:34

Re: EXCEL - creazione macro per invio automatico email

Postdi zorea » 18/01/10 17:39

Ciao a tutti! :)

scusatemi se insisto su questo argomento, essendo digiuna di vba, non riesco a ricostruire (e quindi modificare il codice della macro) come desidero.

Ogni sera devo inviare lo stesso file excel (2007) composto da uno o più fogli alla stessa persona, con gli aggiornamenti del caso.
E' possibile personalizzare ulteriormente la macro, inserendo anche l'orario in modo che parta in automatico (ad esempio alle 18.00)?

Grazie, ;)
Zorea
zorea
Utente Junior
 
Post: 48
Iscritto il: 05/06/09 15:07

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 18/01/10 21:38

Guarda qui per capire come preparare l' esecuzione di una macro a un' ora stabilita: viewtopic.php?f=26&t=84151
Come nome macro userai Invioemail, ma immagino che non potrai garantire che il "FileGiusto" sia attivo alle 18:00; quindi in cima alle istruzioni di Invioemail inserirai Windows("IlFileDaTrasmettere.xls").Activate

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi zorea » 25/01/10 12:45

Grazie dei suggerimenti. :)
Ho ancora qualche piccolo problemino, ma vorrei ragionarci un po' prima di rinviare a voi... :mmmh:
Appeno posso invio quanto prodotto per un vostro ceck. ;)

Zorea
zorea
Utente Junior
 
Post: 48
Iscritto il: 05/06/09 15:07

Re: EXCEL - creazione macro per invio automatico email

Postdi d_cirrotti » 29/01/10 16:25

ciao,
se dopo l'invio della macro ti appare una finestra che ti chiede di confermare, questi si aggira con l'uso delle sendkeys;
in breve:
elimini il comando che sta quasi alla fine subito dopo .Display
.Send
e lo sostituisci con
SendKeys("^(~)")
oppure con
SendKeys("%(s)")

questo consentira' all'email di partire in automatico,
unico inconveniente non e' consistente, ma con outlook2007 ho sentito che funziona molto bene.
d_cirrotti
Utente Junior
 
Post: 41
Iscritto il: 27/07/07 11:50

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 29/01/10 17:00

La macro InviaEmail citata nella discussione gia' contiene il codice per l' invio senza digitare nulla, cioe' le sequenza Contr-a che dovrebbe valere per Outlook in italiano; per outlook in inglese valgono i codici di d_cirrotti.

Ciao a tutti.
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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi d_cirrotti » 02/02/10 13:30

ciao a tutti,
c'e' ancora un piccolo problema che sto cercando di risolvere (devo ammettere che ho imparato molto con questa discussione);

nel body dell'email succede che un valore tipo 0.00 compare come 0;
sarebbe piu' preciso se l'email body mostrasse i valori sino alla seconda cifra decimale;
c'e' qualcosa che si puo' aggiungere?
qui la sintassi( si chiama cosi'?) del body:

BodyText = ""

For RR = 29 To 53

For CC = 10 To 12

If Cells(RR, CC).Value = "" Then GoTo avanti

BodyText = BodyText & Cells(RR, CC).Value & " "

Next CC

avanti:

BodyText = BodyText & vbCrLf

Next RR

c'e' qualcosa che posso aggiungere affinche' valori tipo 1.20 non compaiono come 1.2?

grazie mille per ogni suggerimento.
d_cirrotti
Utente Junior
 
Post: 41
Iscritto il: 27/07/07 11:50

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 02/02/10 17:04

Aggiungerai Format nel calcolo di BodyText, cioe':
Codice: Seleziona tutto
BodyText = BodyText & Format(Cells(RR, CC).Value, "0.00") & " "

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi almalu » 23/06/10 09:54

Salve, in primis, grazie per l'aiuto .
Avrei bisogno di una mano nell'invio di mail attraverso Outlook da Excel, ho seguito i vari scambi mail con d_ cirotti ma ho alcuni problemi irrisolti.

1. Non riesco a mantenere la formattazione che ho nel foglio di excel nella mail, Il problema è esattamente questo nel BODY non mi mantiene la formattazione originale, per cui se ho usato caratteri di dimensioni differenti nel foglio di excel nella mail riporta tutto usando una unica formattazione per es. (arial 14 bold)

2. il secondo problema è che non riesco a fare inserire dopo la mail la firma (nome azienda, tel, fax, email etc.) In alternativa ho inserito la firma in una cella di excel ma la formattazione del BODY (che non ho idea da dove la prenda) va ad influire su tutto ciò che c'è nella mail, indipendentemente da come sia abbi precedentemente formattato il foglio da inviare, mentre senza BODY la mail parte con subject corretto, indirizzo corretto (che trova in una cella di excel) e mette la firma prevista in Outlook, quando inserisci il BODY la firma non la prende più

Mi basterebbe riuscire a rislvere il punto 1. e sarei ok.

Grazie a tutti & saluti
almalu
almalu
Utente Junior
 
Post: 11
Iscritto il: 20/06/10 18:24

Re: EXCEL - creazione macro per invio automatico email

Postdi JOHNNYC » 12/07/10 11:57

Ciao a tutti,
ho letto il fraseggio ed ho cercato di adattare la macro alle mie esigenze. Ho però alcuni probemi/dubbi:

1. Le e-mail non partono, si apre correttamente la prima con l'indirizzo del destinatario ma rimane li appesa (utilizzo Outlook 2007; ho creato un file di prova con 2 colonne, la A con l'indirizzo e-mail e la colonna B con il nominativo);

2. nel comando (b) ho messo come range del Nominat la casella B1. Ma vorrei sapere esattamente quale input fornisce il comando in questione.

Allego in calce la macro da me rivista

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
'  (a)
Set OutApp = CreateObject("Outlook.Application")
''compilazione di un testo standard di accompagnamento
BDT = "Prova invio email automatica"
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "Firma"
''  (b)
Nominat = Sheets("Scheda").Range("b1").Value
OutFile = "C:\Documenti\Prova stampa unione\Alberto.xlsx"
EmailAddr = Range("a2").Value
Subj = "Invio risultati"
'
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = ""
.BCC = ""
.Subject = Subj
.Attachments.Add OutFile
.Body = BDT
.Display 'or use .send
'.SendKeys("%(s)")
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:\Documenti\Prova stampa unione"


End Sub


Grazie.
Johnny
JOHNNYC
Utente Junior
 
Post: 33
Iscritto il: 06/07/10 10:59
Località: Mantova

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 12/07/10 15:00

Altra discussione interessante per l' invio mail e' questa:
viewtopic.php?f=26&t=85263
Tratta in particolare come far partire le mail senza cliccare niente.
2. nel comando (b) ho messo come range del Nominat la casella B1. Ma vorrei sapere esattamente quale input fornisce il comando in questione.
Questo comando ti mette nella variabile Nominat l' indirizzo del destinatario (se questo e' il contenuto di B1); devi poi usare Nominat sulla riga ".to".

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi JOHNNYC » 13/07/10 08:38

OK. Adesso le e-mail partono. Solo che parte la prima ma non le successive! Sicuramente mi stò perdendo in un bicchiere d'acqua... :undecided: Dove sbaglio?

Codice: Seleziona tutto
Sub Invioemail()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim EmailAddr2 As String
Dim Subj As String
Dim BodyText As String
'  (a)
Set OutApp = CreateObject("Outlook.Application")
''compilazione di un testo standard di accompagnamento
BDT = Range("d2").Value
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "Firma"
''  (b)
Nominat = Sheets("Scheda").Range("b1").Value
OutFile = Range("e2").Value
EmailAddr = Range("a2").Value
EmailAddr2 = Range("b2").Value
Subj = Range("c2").Value
'
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = EmailAddr2
.BCC = ""
.Subject = Subj
.Attachments.Add OutFile
.Body = BDT
.Display 'or use .send
'.SendKeys("%(i)")
End With
'  (c)
Set OutMail = Nothing
'
'  (d)
Set OutApp = Nothing

    Application.Wait (Now + TimeValue("0:00:04"))
    Application.SendKeys "%i"
    Application.Wait (Now + TimeValue("0:00:04"))


End Sub


Grazie per il prezioso aiuto.
Johnny
JOHNNYC
Utente Junior
 
Post: 33
Iscritto il: 06/07/10 10:59
Località: Mantova

Re: EXCEL - creazione macro per invio automatico email

Postdi Flash30005 » 13/07/10 10:28

Quali successive?

Dici di avere:
Nominat = Sheets("Scheda").Range("b1").Value
OutFile = Range("e2").Value
EmailAddr = Range("a2").Value
EmailAddr2 = Range("b2").Value

e questi dati si riferiscono a una email, quindi la macro fa il suo lavoro

Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - creazione macro per invio automatico email":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti