Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel Inviare email ad un indirizzo prelevato da una cella

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

[Excel Inviare email ad un indirizzo prelevato da una cella

Postdi maxmula » 26/07/06 10:26

Vi sottopongo un altro quesito:
in un foglio di calcolo ho una cella che contiene un indirizzo email.
Sapreste dirmi se (e come) sia possibile fare in modo di inviare automaticamente un messaggio a questo indirizzo? Non mi servono effetti speciali particolari nel messaggio, basta anche un breve testo ASCII.

Ciao e grazie,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Sponsor
 

Postdi Anthony47 » 26/07/06 17:46

Ciao max,
Hai provato a settare sulla cella un collegamento ipertestuale, per cui cliccando sulla cella ti si attiva la mail?
Nel collegamento ipertestuale puo’ essere definito il subject della mail; il testo deve essere inserito a mano, come pure “invio”.
Puo’ essere sufficiente?

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

Postdi Alexsandra » 26/07/06 20:56

Oppure da vba puoi creare un nuovo file e scriverci dentro quello che vuoi(sempre da vba) e poi inviare la cartella.
Oppure creare un txt e inviare quello
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi maxmula » 26/07/06 22:26

Anthony47 ha scritto:Ciao max,
Hai provato a settare sulla cella un collegamento ipertestuale, per cui cliccando sulla cella ti si attiva la mail?
Nel collegamento ipertestuale puo’ essere definito il subject della mail; il testo deve essere inserito a mano, come pure “invio”.


Mmmm... no, quello che volevo fare è: quando vengono inseriti dei dati in una certa area (l' evento activesheet.change fa partire una macro che fa le verifiche del caso), il foglio medesimo manda una notifica via mail all'indirizzo memorizzato nella cella in oggetto.
Il messaggio può anche essere una breve stringa di testo (tipo: "è stato effettuato un inserimento nell'area x")
Non sarebbe mia intenzione cliccare alcunché... se no viene meno l'utilità della cosa (e cioè evitare di monitorare personalmente il foglio in cerca di aggiornamenti)

MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Postdi Anthony47 » 26/07/06 23:02

Chiaro.
Allora devi usare il vba come suggerito da Alexsandra.
Io so solo come inviare il foglio corrente a una lista di riceventi, sempre tramite approvazione dell' utente del Pc: vedi help on line, voce "Metodo SendMail".
Ma sono sicuro che arriveranno altri contributi.

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

Postdi Alexsandra » 27/07/06 07:21

Possiamo usare Outlook Express.
Hai un account e OE configurato per spedire le mail?
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi maxmula » 27/07/06 11:20

L'account ce l'ho.
Outlook Express... non credo.
Sul PC dell'ufficio non l'ho trovato (c'è Outlook 2003); sul portatile uso Thunderbird ma OE lo posso installare (lì sono amministratore di macchina).

Ho visto in giro x la rete che ci sono anche dei controlli ActiveX che fanno da server SMTP...
L'ideale comunque sarebbe non dover modificare nulla sulle macchine, anche perchè poi il file sarà distribuito a più persone (3-4) e vorrei che fosse il più possibile "portabile".

Vabbe', proverò a smanettare un po' con SendMail, nel frattempo continuo a documentarmi. L'idea di Alexsandra del piccolo file .txt non mi dispiace.

A presto!
MAx

PS. se metto un link multimediale nel foglio e lo clicco, mi parte una finestra con un nuovo messaggio da Outlook. Però poi il messaggio lo devo inviare manualmente.
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Postdi Alexsandra » 27/07/06 12:57

Potresti fare così.
dal tuo file Excel metti un pulsante e lancia questa macro
Codice: Seleziona tutto
Sub messaggio()
    Sheets.Add
    ActiveSheet.Move
    Dim MiaUn As String
    MiaUn = Left(CurDir, 3)
    ActiveWorkbook.SaveAs Filename:=MiaUn & "Messaggio", FileFormat:=xlTextMSDOS, CreateBackup:=False

    Cells(2, 1) = "Ragione Sociale"
    Cells(2, 2) = Application.OrganizationName
    Cells(3, 1) = "e-mail"
    Cells(4, 1) = "telefono"
    Cells(4, 2) = "quello che vuoi"
    Cells(6, 2) = "altri dati, oggetto o quello che vuoi"
    Cells(7, 2) = "testo del messaggio"
    Cells(8, 2) = "altro testo"
    Cells(9, 2) = "ancora testo"
           
    ActiveWindow.Zoom = 85
    Columns(1).ColumnWidth = 18
    Columns(2).ColumnWidth = 50
    Columns(3).ColumnWidth = 50
    Range("B3:B4").Select
    Selection.Font.Size = 16
    Selection.Interior.ColorIndex = 34
    Selection.Locked = False
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Così crei un file txt in cui puoi scriverci quello che vuoi
Puoi spedire il file usando Outlook nel tuo PS si vede che lo hai installato, si può inviare da lì, sarebbe più semplice se il destinatario fosse tra i contatti.
Prova questa macro e vediamo per la spedizione,io lascerei perdere i controlli Activex (per la sicurezza),puoi spedire sfruttando OE

A dopo.
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi maxmula » 27/07/06 16:36

Ho creato il file .txt con la tua macro.

Anch'io preferirei evitare ActiveX e moduli aggiuntivi: a parte il discorso della sicurezza, non è detto che tutti i PC su cui poi girerà il foglio siano autorizzati ad installarli...

Comunque ho provato ad inviare col metodo SendMail: a quanto sembra è riuscito, solo che:

1) mi compare una finestra che dice:
"Un programma sta cercando di inviare automaticamente la posta elettronica. Consentire l'operazione? Se l'operazione non è prevista, potrebbe trattarsi di un virus, pertanto scegliere 'No'."
[ Si ] [ No ] [ ? ]
Questo presumerebbe comunque l'intervento manuale da parte dell'utente. Può essere accettabile x motivi di sicurezza ma non è esattamente quello che volevo (però mi ci potrei anche adeguare).

2) Se scelgo Sì, il messaggio parte e viene recapitato a destinazione, solo che il testo è messo come file .txt allegato.
Non esiste un modo per compilare anche il corpo del messaggio? Oppure è un'impostazione che devo modificare su Outlook (tenete presente che smanetto da anni coi PC ma ODIO Outlook in tutte le sue forme :P per cui non mi intendo molto della sua configurazione!)

Ciao,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Postdi Alexsandra » 27/07/06 17:00

Prova questo codice, non so se funziona
Codice: Seleziona tutto
Workbooks("nome foglio di lavoro").HasRoutingSlip = True
With Workbooks("nome foglio di lavoro").RoutingSlip
.Delivery = xlAllAtOnce
.Recipients = Array("aaaaa@bbb.it")'indirizzo email destinatario
.Subject = "Prova invio"
.Message = "questo è il testo del messaggio"
End With
End Sub
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi maxmula » 27/07/06 22:02

Ho una notizia buona ed una cattiva...

Quella buona è che ho provato l'altra macro dal portatile, al momento di fare SendMail ha aperto Thunderbird ed ha inviato.


Quella cattiva è che ho salvato il foglio come Messaggio.txt.

Appena arrivo ad eseguire l'istruzione:
Codice: Seleziona tutto
Workbooks("Messaggio.txt").HasRoutingSlip = True

mi si presenta il seguente messaggio d'errore:
"Runtime error 1004. General Mail failure. Quit Excel, restart the mail sytem an try again".

Boh? Ci riprovo domani...

Ciao e grazie,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Postdi Alexsandra » 28/07/06 07:30

Chiudi il file (workbook.close) prima di inviare
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi maxmula » 01/08/06 14:14

Sul PC dell'ufficio ha funzionato.
Probabilmente ad Excel non piace che sia un altro programma (thunderbird) a gestire la posta.

Appena ho 1 momento provo ad installare OE sul portatile e vedo che succede...

Ciao,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Postdi Alexsandra » 01/08/06 18:22

non credo,è che trovandolo aperto ti genera l'errore come con qualsiasi altro file.
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi cassioli » 07/08/06 13:11

thread interessante; vedo che anche in Access c'e' un metodo SendObject, e vedo che l'invio mail funziona.Ora, come collegarlo alla modifica di una tabella?
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi archimede » 08/08/06 08:15

cassioli ha scritto:thread interessante; vedo che anche in Access c'e' un metodo SendObject, e vedo che l'invio mail funziona.Ora, come collegarlo alla modifica di una tabella?
Forse qui sei OT...

modifica di una tabella è un po' vago: intendi un trigger? O da una form di Access? O altro?

Hai già visto questo?

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi cassioli » 08/08/06 10:47

archimede ha scritto:modifica di una tabella è un po' vago: intendi un trigger? O da una form di Access? O altro?

In generale, mi servirebbe che venisse mandata una mail ogni volta che una tabella viene modificata: cje sia modificata direttamente o tramite form non ha importanza... per i miei scopi; ma forse ce l'ha per quanto riguarda COME FARE, vero?
Associare all'update di un controllo di una form l'invio della mail è facile... Ma modificare TUTTE le procedure associate a TUTTI i controlli di una maschera sarebbe proprio una barba: non si puo' mettere un "trigger" su un'intera tabella?

archimede ha scritto:Hai già visto questo?

Questo viene dopo... quando ho scoperto che la tabella è stata aggiornate.

Apro un thread dedicato.
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02


Torna a Applicazioni Office Windows


Topic correlati a "[Excel Inviare email ad un indirizzo prelevato da una cella":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti