la funzione on error go to

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Danilo1993
00martedì 29 gennaio 2019 18:10
Salve, stavo cercando di creare un file excel che mandasse massivamente le e-mail.
però prima di progettare il ciclo for stavo cercando di programmare il singolo invio.
Allora ho creato una form dove vado ad inserire i singoli dati ( destinatario, oggetto e corpo della lettera).
Mi sono reso conto che se inserissi due destinatari separati da una ";" oppure da "," mi da errore -2147467259(80004005)

La strada da seguire erano 2:
- quando clicco su invio verifico se nella textbox destinatario è presente "," oppure ";" così da interrompere la sub avvisandomi del problema ( ho evitato perchè non sono riuscito a trovare nessuna funzione che mi indica se ci sono quei due caratteri nella textbox)
- utilizzare la funzione on errore go to. Girando su internet ho trovato numerosi manuali, che spiegano come farlo. Ho provato ad inserirlo nel mio codice ma quanto faccio partire la funzione mi dice sempre che ha trovato l'errore ed è impossibile!!! cos'è che sbaglio?
Ecco il codice:


Private Sub CommandButton1_Click()
On Error Resume Next

'For a = 1 To 1
' nome del destinatario
Set myOutlook = CreateObject("Outlook.Application")
Set mymail = myOutlook.CreateItem(olMailItem)
'oggetto
mymail.Subject = UserForm1.TextBox2
' corpo dellla lettera
If UserForm1.CheckBox1.Value = True Then
mymail.Body = UserForm1.ComboBox1 & UserForm1.TextBox3 & vbCrLf & UserForm1.TextBox4
Else
mymail.Body = UserForm1.ComboBox1 & vbCrLf & UserForm1.TextBox4
End If

'indirizzo email del destinatario

mymail.Recipients.Add (UserForm1.TextBox1)

mymail.Send

'registro email

'Sheets("POSTA").Cells(b, 1).Value = Sheets("foglio2").Range("B2")
'Sheets("POSTA").Cells(b, 2).Value = Sheets("foglio2").Range("B2")
'Sheets("POSTA").Cells(b, 1).Value = Sheets("foglio2").Range("C2")
'Sheets("POSTA").Cells(b, 3).Value = Sheets("foglio2").Range("f2")
'Sheets("foglio2").Range("a2").Value = Sheets("foglio2").Range("a2") + 1

'Next

If Err.Number = "-2147467259(80004005)" Then
MsgBox ("troppi destinatari")
Else
MsgBox ("e' andato a buon fine")


End If



End Sub











Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 10:47.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com