Associare nome a indirizzo email
Hai un problema con Excel? 
Associare nome a indirizzo e-mail
di Federico (utente non iscritto) data: 03/12/2012 23:19:20
Ciao a tutti. Per tutta colonna I ho inserito un menù a tendina (tramite formattazione condizionale)con la possibilità di scegliere sette nomi corrispondenti alle persone a cui mando sempre la stessa mail. Mi chiedevo, se fosse possibile, inviare in automatico il testo di questa mail che è sempre lo stesso, selezionando dal menù a tendina il nome della persona. Quindi associare al nome testo più destinatario,anche con otlook.
L'importante è che questa operazione si possa fare per ogni riga della colonna I.
Grazie.
di HarryBosch data: 04/12/2012 08:39:38
Ciao Federico
l'invio di una mail tramite vba è un argomento che abbiamo affrontato diverse volte nel Forum; quindi ti invito anche a fare qualche ricerca nelle discussioni recenti.
Se utilizzi Outlook la procedura è abbastanza agevolata perché le due applicazioni operano sugli stessi binari. Puoi far inserire testo, oggetto e allegato per ogni destinatario che ti interessa, recuperando le informazioni dalle colonne interessate. Inserendo il tutto all'interno di un ciclo, si passa ogni nominativo per inviare la mail a ciascuno di essi.
Ti riporto sotto un pezzo abbastanza comune per tale utilizzo, in attesa di alcune tue info, del tipo: la versione Excel che usi e se hai qualche familiarietà con il vba.
Eventualmente, se non riesci ad adattare o a capire il codice, potresti allegare un file di esempio già strutturato con i tuoi campi (senza dati sensibili) che vediamo di sistemarlo assieme.
Sub invia_email()
Dim myOutlook As Object, myMailItem As Object
Dim otlApp As Object
Dim olMailItem
Dim otlNewMail
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
With otlNewMail
.To = destinatario 'destinatario
.CC = copia_carbone 'copia carbone
.Subject = oggetto 'oggetto
.Body = corpo 'corpo
.Attachments.Add pecorso 'se vuoi inviare un allegato, serve il percorso del file
'con Display mostro la finestra di Outlook; con Send invio direttamente, senza controllo
.Display
'.Send
End With
Set otlApp = Nothing
Set otlNewMail = Nothing
End Sub
|
di Federico (utente non iscritto) data: 04/12/2012 21:15:11
Ciao,ho visto tra lo storico delle discussioni qualcosa di simile, ma non sono riuscito ad adattarla al mio file. Utilizzo la versione 2007 e ahimè non ho una grande conoscenza con il vba ma giusto qualche nozione elementare. Comunque ti allego il file, se hai la possibilità di guardarlo mi faresti un favore.
grazie ancora, Federico.
di Federico (utente non iscritto) data: 05/12/2012 08:25:20
Mi spiego meglio, vorrei che una volta che nella cella i venga selezionato il nome, partisse una mail con scritto Federico ti ha citato nella sua Osservazione. E una volta che loro mettono la spunta sulla checkbox mi arrivi una mail .
di HarryBosch data: 05/12/2012 08:47:02
Stavo giusto guardando.
Quindi il testo sarà sempre lo stesso:
"nome_persona" ti ha citato nella sua Osservazione
Mi devi chiarire alcune cose:
- ma le mail da mandare sono due? una quando selezioni il nome e una quando spunti la checkbox? (così sembra dal tuo ultimo commento)
- il testo sarà uguale per entrambe le mail? immagino di no
- sicuro che vuoi far partire la mail quando selezioni il nome? e se sbagli selezione? magari in questo caso meglio non inviare direttamente ma far apparire la finestra di conferma... mentre quando si spunta la check il messaggio può partire direttamente
- l'indirizzo mail dove lo recuperiamo? è sempre lo stesso? a chi sono indirizzate (entrambe), sempre allo stesso utente o abbiamo indirizzi diversi?
Aspetto info... :)
di Federico (utente non iscritto) data: 06/12/2012 09:45:53
Ciao harry ti descrivo meglio la mia idea :)
Il file viene condiviso in rete con le persone presenti sul menù a tendina.
- Nelle osservazioni scriverò delle cose che secondo me non vanno bene in merito a degli appunti che loro mi passano quasi giornalmente. Una volta compilato il file, selezionando il nome della persona dal menù a tendina vorrei che questa fosse avvisata tramite e-mail con un testo predefinito( come hai detto tu "nome_persona" ti ha citato nella sua Osservazione ).
In base al nome selezionato l'idea era quella di poterci associare l'indirizzo e-mail della persona selezionata
- La seconda e-mail che si attiva tramite checkbox serve,invece, a informare me che loro mi hanno risposto.
In questo caso il testo è sempre lo stesso "C'è una nuova risposta ad una tua osservazione" mentre il destinatario sarà il mio indirizzo e-mail.
quindi in conclusione una mail mia inviata da me a loro e una loro a me per risposta. :)
Se è possibile inserire un tasto di conferma meglio ancora. Anche se nei tentativi che ho fatto io ho notato già che Outlook invia già un messaggio a video che ti informa che stai per spedire un messaggio.
Scusa se mi sono dilungato, Grazie Federico.
di HarryBosch data: 06/12/2012 16:40:52
Ho allegato il file.
Nel foglio "Indirizzi" puoi aggiornare l'elenco dei nominativi aggiungendo il relativo indirizzo mail; il tuo indirizzo dovrai inserirlo in E1.
Il menù a tendina si aggiornerà dinamicamente.
Quando selezioni il nominativo, automaticamente si genera la mail: verrà visualizzato il display di Outlook dove potrai confermare o annullare l'invio. Sei obbligato a scegliere dall'elenco, altrimenti la convalida dati impedisce la scrittura.
Nell'ultima colonna (K) ho tolto le checkbox (sorry ^_^); sul foglio le uso proprio raramente, magari se sono poche. Nel tuo caso mi sembra che dovresti continuare ad aggiungerle e per gestirle bisogna fare particolare attenzione. Ho quindi preferito optare per un'altra soluzione visto che poi sul file ci devi lavorare.
In sostanza ti basta selezionarepremere la cella della colonna K per generare la mail, questa volta diretta al tuo indirizzo. La casellina diventerà rossa e con la scritta "ok"; per reinviare la mail è necessario cancellarne il contenuto e riselezionare la stessa casella. Se manca il nome nella colonna J non succederà nulla.
Fai un pò di prove e fammi sapere... anche per eventuali aggiunte o miglioramenti.
di Federico (utente non iscritto) data: 06/12/2012 18:25:14
HarryBosch, che dire sei geniale!!! Grazie mille va tutto benissimo :)
Purtroppo però, la mia felicità è stata frenata dal fatto che 4 di quei destinatari usano Thunderbird,e quindi non riescono a rispondermi.
Sono due ore che cerco di informarmi su internet senza riuscire ad adattare il tuo codice :( sarei disposto a utilizzarlo anche io, e anche gli altri sono d'accordo.
Ho visto che parlano di un comando chiamato "MAPI".
Se è possibile adattarlo per Thun mi faresti quest'ultimo favore altrimenti fa niente ed escludo quei 4 da questa cosa.
Grazie ancora, federico.
di Vecchio Frac data: 06/12/2012 19:06:49
MAPI non è un comando, è un protocollo che espone un'interfaccia programmabile.
Microsoft Outlook espone MAPI.
Non significa molto dire che da Thunderbird non riescono a risponderti... il punto è che se non hanno Outlook installato non lo possono usare :)
di Federico (utente non iscritto) data: 07/12/2012 09:19:24
Ma infatti dai, gli ho detto che o si istallano Outlook o questa cosa non si può fare! E' inutile che complichiamo le cose :)
Grazie a tutti quanti per la disponibilità :)
Federico
Vuoi Approfondire?