› Sviluppare funzionalita su Microsoft Office con VBA › Macro email
-
AutoreArticoli
-
Ok grazie mille
Buongiorno il nome 02 Foglio prenza consulente, sara il nome del file che prendera una volta completato, e controllato.
Ci deve essere una "logica" nel dire che il files si debba chiamare 02...ecc ecc
o2 cos'è? il mese? il numero progressivo? Il VBA fà quello che gli chiediamo (non mi dire che 02 è il mese, l'anno successivo si chiama allo stesso modo) e neppure un numero progressivo (chi gli dici quando sbagli per doppioni e di tornare indietro). Lasciare all'utente il nome del files, si preanuncia un mare d'errori umani.
Ps. Volevo sapere se con i parametri di hotmail, riesce inviare Mail?
Buongiorno si 02 e il mese, no il numero è progressivo. Il numero verrà azzerato quando finisce l'anno.
Come detto, l'anno successivo si chiama allo stesso modo ed il VBA và in errore.
Grazie per avermi detto se funziona in hotmail. Un saluto
Buongiorno no il numero è progressivo, e si azzera con l'anno nuovo. O se hai qualche consiglio da attuare, dimmelo tranquillamente. Io posso mettere qualsiasi nome che desidero, l'importante che il nome corrisponde con l'oggetto.
R3 = 587
La porta del server per Hotmail dovrebbe essere 25, non 587. Avete provato il mio esempio?
Buongiorno no alla fine o inserisco l'anno, con una cartella, e verrà inserito dell'anno in corso. Per esempio quest'anno ho creato una cartella denominata 2024. Il prossimo anno ci sarà 2025
Buongiorno no ancora non ho provato il tuo esempio, poiché adesso sono al lavoro con smartphone. Appena rientro la prima cosa che farò è questa di provare. Ti farò sapere al mio rientro
>>>Per esempio quest'anno ho creato una cartella denominata 2024. Il prossimo anno ci sarà 2025
Ok per il 2024, quando arriva il 2025 crei una cartella 2025 e chi dice al codice di salvare nella cartella 2025??? Meglio salvare il nome files con l'anno incorporato. Ad utenti che non rispondono se invia Email, sarebbe meglio non aiutarli.
Ps, Grazie vecchio frac, non uso hotmail ed ho trovato questi parametri in rete
Nessuna risposta con teste toste su invio mail, se desideri cambia
sNome = fgL & "_" & Year(dDate) & "_" & Month(dDate) & "_" & Day(Date)
in sNome = Month(dDate) & " Foglio prenza consulente " & Year(dDate)
Buon pomeriggio appena rientro a casa, proverò il tuo codice. Adesso sono con il smartphone, e non sono con il computer
Buonasera sto provando il tuo codice nel foglio che ho fatto una copia. Sto inserendo i codici nelle righe r3 , r4, ho inserito il mio indirizzo email, con la password. Adesso sto inserendo il tuo codice , che mi hai mandato. Domani mattina ti dirò se ha funzionato
Buongiorno il codice invio lo devo inserire nel foglio della festività, o nel foglio principale
Buongiorno il codice sul foglio senza integrare sul foglio registri appare che funziona, ho fatto la prova di inviarlo a me stesso, ma non arriva niente, inoltre quando l'invio del messaggio viene allegato il file del foglio nascosto. Mentre se integro nel foglio registro quando faccio click esce errore run time 9
Non riesco capire cosa stai combinando.
Di sicuro sò che il files funziona perfettamente con Libero e Gmail
Buonasera ti invio il foglio completo di codice. Vedi se sbaglio qualcosa. Ti ringrazio
Elimina subito l'allegato con scritto email + password
Non vedo il mio codice, di certo se le righe sono rosse significa errore di scrittura
l'ho devi eliminare dal forum, se non desideri far conosscere i Tuoi dati a tutti
Quello e il codice di vecchio frac, alle righe rosse mancano le parentesi
Buonasera sto provando a fare le modifiche che mi hai detto da fare con le parentesi, mi esce errore sintassi
Ma perdonami come puoi mai pensare che funzioni???? Oltre ad essere sbagliate alcune cose, ce ne sono altre che mancano proprio!!! Nel codice mancano i destinatari, gli allegati, il mittente. Poi mancano le virgolette negli ITEM dell'oggetto Flds...
Comunque @raffaele53 ti ha suggerito giustamente di eliminare dal Forum l'allegato REGISTRI.xlsm perché al suo interno ci sono i tuoi dati (a meno ché non siano fasulli), perché non l'hai fatto?
Ho provato a correggere il codice scritto nell'allegato che hai caricato. Non ho potuto fare dei test...falli tu a dai riscontro.
Sostituisci il codice della Sub SendMailFromHotmail() con questo:
Sub SendMailFromHotmail() Dim iMsg As Object Dim iConf As Object Dim Flds As Variant Dim sMittente As String, sPsw As String, sDestinatariMail As String Dim sAllegato As String, sTestoMail As String Dim SMTP As Integer, ur As Long SMTP = Foglio2.Range("R3") sMittente = Foglio2.Range("R4") sPsw = Foglio2.Range("R5") sTestoMail = Foglio1.Range("F4") sAllegato = "" '<-----TRA LE VIRGOLETTE INSERIRE IL PERCORSO + NOME FILE + ESTENSIONE _ PER ESEMPIO: "C:\Users\alebo\Downloads\Lavori in Excel\InivioMail\Gennaio_04.03.2024.pdf" ur = Foglio1.Cells(Rows.Count, "D").End(xlUp).Row + 1 i = 2 While i <> ur sDestinatariMail = sDestinatariMail & Foglio1.Range("D" & i).Value2 & ", " i = i + 1 Wend sDestinatariMail = Trim(Left(sDestinatariMail, Len(sDestinatariMail) - 2)) Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 Set Flds = iConf.Fields With Flds .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'basic .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = sMittente 'utente reale .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = sPsw 'password reale .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp-mail.outlook.com" '"smtp.live.com" ' .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'network .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTP '587 465 26 .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Update End With With iMsg Set .Configuration = iConf .To = sDestinatariMail .From = sMittente .Subject = "Hello " & Time .TextBody = sTestoMail If sAllegato <> "" Then .AddAttachment sAllegato On Error GoTo Err_ .Send End With Set iMsg = Nothing Set iConf = Nothing Exit Sub Err_: Debug.Print Err & ": " & Err.Description Resume Next End SubMi raccomando...prova a leggere il codice e cerca di interpretarlo così capisci se ci sono eventuali errori/mancanze. Ovviamente devi indicare percorso da dove prelevi l'allegato. Lo devi indicare nel rigo di codice seguente:
sAllegato = "" '<-----TRA LE VIRGOLETTE INSERIRE IL PERCORSO + NOME FILE + ESTENSIONE _ PER ESEMPIO: "C:\Users\alebo\Downloads\Lavori in Excel\InivioMail\Gennaio_04.03.2024.pdf"poi un'altra cosa importante. Se gli indirizzi e mail dei destinatari li indichi nella colonna "D" del Foglio1, devi sincerarti che:
1) tra un'indirizzo e l'altro non ci devono essere celle vuote
2) nelle celle D4 e D5 ci sono degli spazi vuoti. Devi togliere quegli spazi altrimenti il ciclo While...Wend ti considera anche quelle celle. Ti ritroveresti come stringa del destinatario una cosa del genere: diego_ortuso@hotmail.com, fincongest@gmail.com, , (come puoi vedere aggiungerebbe 2 virgole alla fine e questo ti preclude l'invio della e-mail)
Buongiorno l'allegato consigliato con i dati l'ho già cancellato, mentre quello allegato con la risposta non riesco ad eliminare. Vi ringrazio per il codice inviatomi da sostituire, lo proverò al mio rientro a casa, e vi farò sapere.
-
AutoreArticoli
