Che tipo di messaggio è?Originariamente inviato da Joe_01
Salve a tutti, stavo realizzando questa semplice ( per voi) applicazione in VBA, ma mi sono bloccato in questi errori.
Vengo al problema, cercando qualche suggerimento da varie parti libri e internet, sono riuscito a mettere insieme questo codice che mi permette di memorizzare degli indirizzi e-mail in una tabella di Access 2010 e poi fare un invio singolo, ovvero ho creato una form con un pulsante che mi avvia le spedizioni.
Il problema è il seguente, se invio 3 o 4 e-mail va tutto bene, se cerco di inviarne per esempio 50 ad un certo punto esce un messaggio e il programma si ferma su (send) dicendo che occorre inserire un destinatario, un CC o un CCn........? (perchè se sta leggendo da un elenco di indirizzi)
Inoltre ho realizzato una query nella tabella dove ho messo l'istruzione nel campo mail "Is null" in modo che dove trova nella tabella il campo senza e-mail la lettura dei record posso continuare.
E questo è il primo problema.
Si ferma sempre nello stesso punto? Si ferma sempre dopo un numero preciso di invii?
Prova a mettere un MsgBox con 1° argomento il destinatario e 3° argomento (cioè titolo del MessageBox ) il record selezionato.
Non mi ricordo se esiste un metodo per verificare se la mail è stata spedita, in tal caso non è possibile sapere se realmente l'invio è andato a buon fine; per incrementare il contatore basta dichiarare la variabile all'esterno del ciclo Do Until (come hai fatto) e poi aumentare tale valore di +1 alla fine del ciclo:Originariamente inviato da Joe_01
Il secondo, se mi permettete di formularlo qui, è banale (per voi) vorrei semplicemente conteggiare le e-mail che invio, ho dichiarato una variabile "Tentativi" (tralasciamo il termine) volevo sapere come fare per calcolare quante e-mail vengono effettivamente compilate e spedite........
Ringraziandovi per la sempre validissima professionalità e soprattutto per la pazienza di cui siete dotati, spero in un vostro prezioso suggerimento.
Grazie a tutti
Allego il codice:
Const conPercorso = "\\server\Dati\Documenti\Uboldi\Varie\"
Const conAllegato = "\\server\Dati\Documenti\Uboldi\Varie\Curriculum_2 010.PDF"
Dim rstEmail As New ADODB.Recordset
Dim strNomeAllegato As String
Dim strDestinatario As String
Dim appOutlook As New Outlook.Application
Dim mail As Outlook.MailItem
Dim Tentativi As Integer
Tentativi = 0
Set appOutlook = CreateObject("outlook.application")
DoCmd.OpenQuery "qryEliminaNulliDaEmail"
rstEmail.Open "tbElencoAziende", CurrentProject.Connection, adOpenForwardOnly
'MsgBox rstEmail!Nome & rstEmail![E-Mail]
Do Until rstEmail.EOF
strDestinatario = rstEmail![mail]
If Not strDestinatario = "" Then
Set mail = appOutlook.CreateItemFromTemplate _
(conPercorso & "RicercaLavoro.oft")
With mail
.To = strDestinatario
' .Attachments.Add (conAllegato)
.Send
End With
Set mail = Nothing
End If
rstEmail.MoveNext
If mail.Send Then Tentativi ......................
Loop
MsgBox "Il messaggio è stato inviato correttamente"
End Sub
Ciaocodice:Dim contatore as Integer Do Until ....... 'esegui tutte le tue operazioni contatore = contatore + 1 Loop