Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

la funzione on error go to

Ultimo Aggiornamento: 29/01/2019 18:10
Post: 73
Registrato il: 25/03/2014
Città: AGEROLA
Età: 31
Utente Junior
2013
OFFLINE
29/01/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











Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 19:54. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com