Discussione:
invio mail ad una lista di contatti tramite macro invia oggetto
(troppo vecchio per rispondere)
Marzia
2006-11-26 11:50:36 UTC
Permalink
C'è nessuno che sia in grado di dirmi come si possa inviare una mail tramite
macro invia oggetto ad una lista di indirizzi E-Mail presenti in un campo
query?

Grazie
Marzia
Alessandro Baraldi
2006-11-26 12:03:23 UTC
Permalink
Post by Marzia
C'è nessuno che sia in grado di dirmi come si possa inviare una mail tramite
macro invia oggetto ad una lista di indirizzi E-Mail presenti in un campo
query?
Grazie
Marzia
Marzia mi pare che l'argomento sia stato aperto in un'altro 3D o
sbaglio...?

Partiamo dal chiarirti che non puoi fare nulla con una MACRO, ma devi
studiarti VBA, questo è il motivo per il quale forse il 3D precedente
è stato interrotto....

Le cose da chiarire inizialmente sono diverse:

1) Che cosa vuoi inviare la Mail...? Intendo con che tecnologia
2) Che impatto deve dare all'utente, deve accorgersene ed interagire
con la Mail da inviare o deve essere una Mail diretta autocomposta...?
3) Devi memorizzare la Mail inviata o non ti serve
4) Gli indirizzi devono essere tutti visibili a tutti o no...?(in
questo caso si usa il BCC o CCN)
5) Ricorda che nessun programma deve inviare mail senza che l'utente ne
sia a conoscenza.

Queste domande sono molto legate in quano condizionano sull'uso del
componente migliore da scegliere...!

Per ora posso suggerirti un Demo che più o meno fà quello che
dici...(forse è un pò complesso
se sei digiuna di VBA, ma ti dà modo per studiarci sopra...)

http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=258

Nel demo il cuore è il modulo di classe, e se impari ad usarlo ti
accorgerai che passargli i dati dalla tua Query sarà semplice...!

Ciao
@Alex
Marzia
2006-11-26 16:26:24 UTC
Permalink
Post by Marzia
C'è nessuno che sia in grado di dirmi come si possa inviare una mail tramite
macro invia oggetto ad una lista di indirizzi E-Mail presenti in un campo
query?
Grazie
Marzia
Marzia mi pare che l'argomento sia stato aperto in un'altro 3D o
sbaglio...?

Partiamo dal chiarirti che non puoi fare nulla con una MACRO, ma devi
studiarti VBA, questo è il motivo per il quale forse il 3D precedente
è stato interrotto....

Le cose da chiarire inizialmente sono diverse:

1) Che cosa vuoi inviare la Mail...? Intendo con che tecnologia
2) Che impatto deve dare all'utente, deve accorgersene ed interagire
con la Mail da inviare o deve essere una Mail diretta autocomposta...?
3) Devi memorizzare la Mail inviata o non ti serve
4) Gli indirizzi devono essere tutti visibili a tutti o no...?(in
questo caso si usa il BCC o CCN)
5) Ricorda che nessun programma deve inviare mail senza che l'utente ne
sia a conoscenza.

Queste domande sono molto legate in quano condizionano sull'uso del
componente migliore da scegliere...!

Per ora posso suggerirti un Demo che più o meno fà quello che
dici...(forse è un pò complesso
se sei digiuna di VBA, ma ti dà modo per studiarci sopra...)

http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=258

Nel demo il cuore è il modulo di classe, e se impari ad usarlo ti
accorgerai che passargli i dati dalla tua Query sarà semplice...!

Ciao
@Alex


Grazie Alessandro delle precisazioni, ora anche il 3D precedente è più
chiaro.
Ho visto l'esempio che mi proponi, bello complimenti, avrò bisogno di 10
anni luce per riuscire a fare una cosa del genere da sola :-)
Tornando alla mia domanda Io ho bisogno di una cosa estremamente più
semplice ma molto, molto di più:
Come spiegato nel 3D precedente utilizzo delle macro (perchè di VBA come
avrai capito sono totalmente nulla) invia oggetto per inviare messaggi di
posta ad un indirizzo
presente in un controllo maschera con una cosa del genere
=[Forms]![MiaMaschera]![MioControllo]
(quindi posso scegliere tra To; Cc;Ccn) per intenderci ho 3 pulsanti
distinti per 3 macro distinte.
La macro mi permette quindi di aprire automaticamente una finestra nuovo
messaggio di Outlook Express e di inserire l'indirizzo rispettivamente in
To, oppure Cc oppure Ccn. Poi aggiungo oggetto e testo da Outlook. L'utente
quindi è perfettamante consapevole di inviare una mail e, copia del
messaggio rimane naturalmente in posta inviata.
Ora ho bisogno di fare la stessa per inviare la stessa Mail a più indirizzi
che sono presenti su un campo query opportunamente già filtrata. In questo
caso la mail dovrà essere inviata a tutti come Ccn. Devo solo passare ad un
nuovo messaggio di Outlook un elenco di indirizzi presenti su query. Forse
questo da macro si può fare? E se no il codice che mi hai passato nel 3D
precedente doveva servire proprio a questo vero? Recuperare tutti i dati
della query per poi passarli ad un programma di posta. Ma come per il mio
caso?

Ciao
Marzia
Alessandro Baraldi
2006-11-26 18:37:06 UTC
Permalink
Post by Alessandro Baraldi
Post by Marzia
C'è nessuno che sia in grado di dirmi come si possa inviare una mail tramite
macro invia oggetto ad una lista di indirizzi E-Mail presenti in un campo
query?
Grazie
Marzia
Marzia mi pare che l'argomento sia stato aperto in un'altro 3D o
sbaglio...?
Partiamo dal chiarirti che non puoi fare nulla con una MACRO, ma devi
studiarti VBA, questo è il motivo per il quale forse il 3D precedente
è stato interrotto....
1) Che cosa vuoi inviare la Mail...? Intendo con che tecnologia
2) Che impatto deve dare all'utente, deve accorgersene ed interagire
con la Mail da inviare o deve essere una Mail diretta autocomposta...?
3) Devi memorizzare la Mail inviata o non ti serve
4) Gli indirizzi devono essere tutti visibili a tutti o no...?(in
questo caso si usa il BCC o CCN)
5) Ricorda che nessun programma deve inviare mail senza che l'utente ne
sia a conoscenza.
Queste domande sono molto legate in quano condizionano sull'uso del
componente migliore da scegliere...!
Per ora posso suggerirti un Demo che più o meno fà quello che
dici...(forse è un pò complesso
se sei digiuna di VBA, ma ti dà modo per studiarci sopra...)
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=258
Nel demo il cuore è il modulo di classe, e se impari ad usarlo ti
accorgerai che passargli i dati dalla tua Query sarà semplice...!
Ciao
@Alex
Grazie Alessandro delle precisazioni, ora anche il 3D precedente è più
chiaro.
Ho visto l'esempio che mi proponi, bello complimenti, avrò bisogno di 10
anni luce per riuscire a fare una cosa del genere da sola :-)
Tornando alla mia domanda Io ho bisogno di una cosa estremamente più
Come spiegato nel 3D precedente utilizzo delle macro (perchè di VBA come
avrai capito sono totalmente nulla) invia oggetto per inviare messaggi di
posta ad un indirizzo
presente in un controllo maschera con una cosa del genere
=[Forms]![MiaMaschera]![MioControllo]
(quindi posso scegliere tra To; Cc;Ccn) per intenderci ho 3 pulsanti
distinti per 3 macro distinte.
La macro mi permette quindi di aprire automaticamente una finestra nuovo
messaggio di Outlook Express e di inserire l'indirizzo rispettivamente in
To, oppure Cc oppure Ccn. Poi aggiungo oggetto e testo da Outlook. L'utente
quindi è perfettamante consapevole di inviare una mail e, copia del
messaggio rimane naturalmente in posta inviata.
Ora ho bisogno di fare la stessa per inviare la stessa Mail a più indirizzi
che sono presenti su un campo query opportunamente già filtrata. In questo
caso la mail dovrà essere inviata a tutti come Ccn. Devo solo passare ad un
nuovo messaggio di Outlook un elenco di indirizzi presenti su query. Forse
questo da macro si può fare? E se no il codice che mi hai passato nel 3D
precedente doveva servire proprio a questo vero? Recuperare tutti i dati
della query per poi passarli ad un programma di posta. Ma come per il mio
caso?
Ciao
Marzia
I codice che ti ho scritto se non ricordo male cicla il Recordset,
quello che devi fare è comporre adeguatamente la stringa con la
sequenza dei destinatari con il segno di separazione ;

Ora per inviarla con Express purtroppo come ti dicevo devi abbandonare
le macro...!

In questo caso puoi usare ShellExecute che aprirà di Default il
Brovser di Posta...!

Metti il codice seguente in un Modulo:

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Public Sub SendMail(frm as Access.Form, _
Optional ByVal sTo As String = "Destinatario di
Default", _
Optional ByVal CC As String = "", _
Optional ByVal BCC As String = "", _
Optional ByVal Subject As String = "", _
Optional ByVal Body As String = "", _
Optional ByVal Attachment As String = "")


Dim sMailThis As String
Dim sSep As String


sSep = "?"
sMailThis = "mailto:" & sTo
If CC <> "" Then
sMailThis = sMailThis & sSep & "CC=" & CC
sSep = "&"
End If
If BCC <> "" Then
sMailThis = sMailThis & sSep & "BCC=" & BCC
sSep = "&"
End If
If Subject <> "" Then
sMailThis = sMailThis & sSep & "Subject=" & Subject
sSep = "&"
End If
If Body <> "" Then
sMailThis = sMailThis & sSep & "Body=" & Body
sSep = "&"
End If
If Attachment <> "" Then
sMailThis = sMailThis & sSep & "Attachment=""" & Attachment &
""""
sSep = "&"
End If


If sMailThis <> "mailto:" Then
Call ShellExecute(frm.hwnd, "open", sMailThis, _
vbNullString, vbNullString, SW_SHOWNORMAL)
End If


End Sub


Ora dopo aver composto la stringa con i destinatari(vedi il codice già
postato) la passi alla funzione che ti ho appena passato al parametro
BCC, come primo parametro nella funzione è indicato Destinatario di
Default, puoi mettere il tuo indirizzo in questo campo in modo da
riceverne una copia...!

La funzione dovrai chiamarla così:

SendMail Me, _
"***@libero.it", _
, _
"***@libero.it;***@libero.it;terzo....",
_
"Oggetto della Mail" , _
"Corpo della mail nel caso sia Semiautomatico", _
"C:\Allegato.Doc"

Ciao
@Alex
Marzia
2006-11-26 19:28:51 UTC
Permalink
[cut]
grazie infinitamente dei tuoi suggerimenti ma dovresti gentilmente
delucidarmi ancora su alcune cose altrimenti è stato tutto inutile:

1) questa famosa stringa che deve essere composta dal seguente codice:

------------------------------------------------------
Dim strEmailList as string
Dim Rs as DAO.Recordset
Set Rs=CurrentDb.OpenRecordset("MiaQuery")
If Rs.Eof Then Exit Function
Do Until Rs.Eof
strEmailList=strEmailList & Rs!MioCampo & ";"
Rs.MoveNext
Loop
If Len(strEmailList)>1 Then
strEmailList=Mid$(strEmailList,1,Len(strEmailList)-1)
Rs.Close
Set Rs=Nothing

MsgBox "Questo è L'elenco della ListaContatti" & vbCrLf &
strEmailList
--------------------------------------------------------------

se ho capito bene dovrebbe recuperare tutti i record della query e creare
una cosa del genere ***@prova.it; ***@prova.it; ... giusto?
Questa stringa resta nella memoria RAM? Tipo funzione "Copia"?
Dove lo devo mettere stò codice in un modulo o routine evento?

2) per passare la stringa alla funzione che hai postato al paramentro Bcc
come si fa?

3) E' normale che molte righe dell'ultima funzione postata e l'ultima riga
della funzione sopra quotata risultino di colore rosso all'interno del
modulo e/o routine?


Scusa se ti copro di domande ma devo approfittare adesso della tua
gentilezza altrimenti stà cosa non riuscirò a farla mai più.
Per sdebitarmi non posso girarti alcun codice ma posso spedirti il panettone
per Natale ;-)

Ciao
Marzia
Alessandro Baraldi
2006-11-27 07:23:13 UTC
Permalink
Post by Marzia
[cut]
grazie infinitamente dei tuoi suggerimenti ma dovresti gentilmente
------------------------------------------------------
Dim strEmailList as string
Dim Rs as DAO.Recordset
Set Rs=CurrentDb.OpenRecordset("MiaQuery")
If Rs.Eof Then Exit Function
Do Until Rs.Eof
strEmailList=strEmailList & Rs!MioCampo & ";"
Rs.MoveNext
Loop
If Len(strEmailList)>1 Then
strEmailList=Mid$(strEmailList,1,Len(strEmailList)-1)
Rs.Close
Set Rs=Nothing
MsgBox "Questo è L'elenco della ListaContatti" & vbCrLf &
strEmailList
--------------------------------------------------------------
se ho capito bene dovrebbe recuperare tutti i record della query e creare
Si...
Post by Marzia
Questa stringa resta nella memoria RAM? Tipo funzione "Copia"?
Viene salvata nello Stack ma cosa ti serve questa info...?
Tu ricavi la stringa e la passi alla funzione che ti ho esposto.
Post by Marzia
Dove lo devo mettere stò codice in un modulo o routine evento?
Crei un Modulo nuovo ed incolli.
Post by Marzia
2) per passare la stringa alla funzione che hai postato al paramentro Bcc
come si fa?
Come ti ho scritto... rileggi bene ti ho postato anche la chiamata...!
Post by Marzia
3) E' normale che molte righe dell'ultima funzione postata e l'ultima riga
della funzione sopra quotata risultino di colore rosso all'interno del
modulo e/o routine?
No, evidentemente c'è un'errore di sintassi da correggere....
Post by Marzia
Scusa se ti copro di domande ma devo approfittare adesso della tua
gentilezza altrimenti stà cosa non riuscirò a farla mai più.
Se riesco non ci sono problemi.
Post by Marzia
Per sdebitarmi non posso girarti alcun codice ma posso spedirti il panettone
per Natale ;-)
Ehehehehe.... aspetta a cantare vittoria... quando funziona brindiamo
con il panettone.
Post by Marzia
Ciao
Marzia
Se hai difficoltà mandami per posta il Demo con la tabella e la query
che vedo di farti funzionare la cosa....(ma solo come ultima spiaggia).

Ciao
@Alex
Marzia
2006-12-03 22:54:01 UTC
Permalink
[cut]
Volevo solo dire a tutto questo NG che Alessandro Baraldi E' UN GRANDE ed
onora come tanti altri questo NG con i suoi preziosi consigli ed
insostituibili aiuti.

Grazie ancora
Marzia
cidi
2006-12-04 08:19:25 UTC
Permalink
Post by Marzia
[cut]
Volevo solo dire a tutto questo NG che Alessandro Baraldi E' UN GRANDE
Alessandro Magno?
Post by Marzia
ed onora come tanti altri questo NG con i suoi preziosi consigli ed
insostituibili aiuti.
ehm... il panettone?
se non ricordo male è Sergio che si occupa dei ringraziamenti in natura!
^___^
Post by Marzia
Grazie ancora
Marzia
Ciao Marzia

Daniele
Alessandro Baraldi
2006-12-04 09:51:57 UTC
Permalink
Post by cidi
Post by Marzia
[cut]
Volevo solo dire a tutto questo NG che Alessandro Baraldi E' UN GRANDE
Alessandro Magno?
Post by Marzia
ed onora come tanti altri questo NG con i suoi preziosi consigli ed
insostituibili aiuti.
ehm... il panettone?
se non ricordo male è Sergio che si occupa dei ringraziamenti in natura!
^___^
Post by Marzia
Grazie ancora
Marzia
Ciao Marzia
Daniele
Devo promuoverti Manager o Curatore....

;-)

@Alex

Loading...