› Sviluppare funzionalita su Microsoft Office con VBA › Creazione Invio Email e Formattazione testo
-
AutoreArticoli
-
Ciao a tutti ragazzi,
Ho necessità di creare un file che al verificarsi di una condizione(Data di nascita=Oggi) invii una email di buon compleanno all'indirizzo che si trova in un altra cella. Nel file di esempio: Cella C3 (Valore = 29/02/1942), Oggi è il 29/02/2020 ed il sistema invia una email automatica all'indirizzo che si trova in Cella B3, copiando come intestazione il nome che si trova in A3. Il controllo delle date potrebbe essere fatto anche da un tasto da premere all'occorrenza per non farlo attivare all'apertura del file che risulterebbe pesante.
Inoltre questo file excel lo esporto da un programma gestionale che mi esporta i numeri di cellulare in maniera diversa:
3332615675;
(+39 333 222 2222;
(+39 333 222 2222;
(+39 333 222 2222;
(+39 333 222 2222;
0 - 0 - 342222222;E' possibile formattare questi numeri di telefono con un formato semplice del tipo 3332222222?
Altra necessità è quella di eliminare il contenuto di alcune celle che contengono una determinata parola ad es. @guest.booking.com.
Spero di essere stato chiaro, allego file di esempio, e spero possiate darmi una mano.
Grazie a tutti
Allegati:
You must be logged in to view attached files.potrebbe essere un punto di partenza, sostituendo il tuo codice per invio email con il messaggio
Option Explicit Sub compleanno() Dim lastrow As Integer Dim dataoggi As Date Dim tabelladata As Range, con As Object Dim anni As Integer lastrow = Cells(Rows.Count, 3).End(xlUp).Row Set tabelladata = Range("c2:c" & lastrow) dataoggi = Now() For Each con In tabelladata If (Day(con) = Day(dataoggi)) And (Month(con) = Month(dataoggi)) Then anni = Year(dataoggi) - Year(con) MsgBox "buon compleanno oggi hai compiuto anni " & anni End If Next End SubQual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Ciao Albatros
Quindi questo codice legge il database e fa uscire il popup non invia email vero?
Non ho capito però cosa devo sostituire puoi spiegarmi?
Grazie mille
FROST, hai allegato file xlsm senza macro, quale tipo di mano cerchi ? qualcuno che ti faccia tutto ?
Patel ho allegato file senza macro perché fondamentalmente c'è da inserire un tasto per fare tutto. Il problema è il linguaggio ed io sono pari a zero e non saprei da dove incominciare anche perché quello che voglio mi sembra anche molto complicato. Comunque ho chiesto una mano senza dare nessuna fretta se poi è un problema lascio stare figurati.
Se poi vuoi spiegarmi per quello che chiedo come sarebbe stata la procedura corretta contando che io non so nemmeno come iniziare a scrivere il linguaggio dimmelo così imparerò anche ad interagire con voi. Albatros è sempre molto gentile ed ho apprezzato il fatto che mi abbia detto si può incominciare da qui perché mi rendo conto che è una cosa un po complicata. Comunque ti posso assicurare che se sapessi da dove incominciare non sono il tipo da nn fare le cose.
Saluti
nessuno nasce "imparato", ma il primo passo è sempre fare una ricerca sui forum e su google, di esempi di invio mail ne trovi quanti ne vuoi, poi una volta imparato ad inviarne una il passo ad inviarne tante è breve, l'esempio di Albatros presupponeva che tu fossi già capace di inviarne una.
Oltretutto non hai specificato se vuoi inviare mail da gmail o tramite un programma di posta.
Vedrò cosa riesco a fare
Grazie
Io dovrei usare il server di aruba in modo da utilizzare la mail ufficiale se si può fare. se no utilizzerei app posta windows 10 sempre se possibile. Ad ogni modo è vero per inviare email ci sono un miliardo di post ma molti con finalità diverse e cose diverse da quelle che servono a me. Sto cercando di capire come impostare il codice ma sinceramente mi sto perdendo. Provo un altro po e vi aggiorno.
Grazie a tutti
Albatros chiedo scusa ma io davvero non riesco a capire come settare le condizioni di invio email e come settare il programma email. Avrei bisogno se possibile di un codice più completo se riesci ad aiutarmi per cercare di capire come impostare le mie necessità. Come ho spiegato Io dovrei usare il server di aruba in modo da utilizzare la mail ufficiale se si può fare. se no utilizzerei app posta windows 10 sempre se possibile. ho letto 1000 post che danno codici diversi per esigenze diverse ma non riesco a fare un mix di tutto. Spero in un vostro aiuto.
Grazie mille a tutti
Perfetto Patel,
Io riesco a trovare qualcosa su google ma non riesco a farlo funzionare e ti chiedo scusa ma se sapessi come fare probabilmente non sarei qui a fare 1000 domande. Comunque quello che ho trovato è questo codice ma non so come modificarlo per le mie esigenze.
Dim CDO_Mail As Object Dim CDO_Config As Object Dim SMTP_Config As Variant Dim strSubject As String Dim strFrom As String Dim strTo As String Dim strCc As String Dim strBcc As String Dim strBody As String strSubject = "Report da foglio Excel" strFrom = "mittente@nomeazienda.com" strTo = "destinatario@hotmail.it" strCc = "" strBcc = "" strBody = "Il risultato per questo trimestre è" Set CDO_Mail = CreateObject("CDO.Message") On Error GoTo Error_Handling Set CDO_Config = CreateObject("CDO.Configuration") CDO_Config.Load -1 Set SMTP_Config = CDO_Config.Fields With SMTP_Config .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 465 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it" .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mittente@nomeazienda.com" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With CDO_Mail Set .Configuration = CDO_Config End With CDO_Mail.Subject = strSubject CDO_Mail.From = strFrom CDO_Mail.To = strTo CDO_Mail.TextBody = strBody CDO_Mail.CC = strCc CDO_Mail.BCC = strBcc CDO_Mail.Send Error_Handling: If Err.Description <> "" Then MsgBox Err.DescriptionSub CDO_Mail_Small_Text() Dim CDO_Mail As Object Dim CDO_Config As Object Dim SMTP_Config As Variant Dim strSubject As String Dim strFrom As String Dim strTo As String Dim strCc As String Dim strBcc As String Dim strBody As String strSubject = "Report da foglio Excel" strFrom = "email mittente" strTo = "questa dovrebbe essere una cella con email" strCc = "" strBcc = "" strBody = "Il risultato per questo trimestre è" Set CDO_Mail = CreateObject("CDO.Message") On Error GoTo Error_Handling Set CDO_Config = CreateObject("CDO.Configuration") CDO_Config.Load -1 Set SMTP_Config = CDO_Config.Fields With SMTP_Config .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 465 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it" .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email mittente" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With CDO_Mail Set .Configuration = CDO_Config End With CDO_Mail.Subject = strSubject CDO_Mail.From = strFrom CDO_Mail.To = strTo CDO_Mail.TextBody = strBody CDO_Mail.CC = strCc CDO_Mail.BCC = strBcc CDO_Mail.Send Error_Handling: If Err.Description <> "" Then MsgBox Err.Description End Subsi non funziona!!!
modificando i seguenti paramentri:
strFrom = "mittente@nomeazienda.com"
strTo = "destinatario@hotmail.it"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mittente@nomeazienda.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
ti allego immagine errore
Allegati:
You must be logged in to view attached files.secondo me ci sono alcuni errori, il sendusing è sbagliato e ti manca il serverport
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'NTLM method
.Item("http://schemas.microsoft.com/cdo/configuration/smptserverport") = 465
nella ricerca con google non ti fermare al primo risultato, confronta più soluzioni
Sera Patel,
modificato codice e ti allego il nuovo errore. Ad ogni modo farò una ricerca per vedere se ci sono altre soluzioni con stringhe diverse.
Allegati:
You must be logged in to view attached files.Sinceramente ,
io sto provando a modificare stringhe ed altro ma non funziona nulla. Ho provato un altro codice e mi da errore mittente poi lo inserisco e mi da errore oggetto. Sinceramente credo che sia davvero complicato che io arrivi ad una soluzione da solo.
non è per non volerti aiutare, ma l'account aruba non è molto comune, infatti nessuno è intervenuto nella discussione, solo tu puoi fare il test delle soluzioni che trovi.
Io ti posso aiutare con gmail
Figurati Patel,
Capisco che non è usuale, io potrei anche usare un metodo alternativo. Secondo te se cambiamo utilizzando l'app di windows 10 o outlook cambia qualcosa? chiaramente l'email è aziendale quindi info@xxxxxxxxxxxx.it ed il dominio è registrato su aruba.
Non so come risolvere il problema sinceramente ma sono aperto a consigli dato la mia poca conoscenza.
Grazie comunque del tempo dedicatomi.
Saluti
si tratta solo di provare, anche per outlook si trovano in rete parecchi esempi
Ma guarda per chi magari ha una conoscenza come la tua forse si tratta solo di provare per me significa fare ricerche per giornate intere e per carità io le faccio pure ma fino ad adesso ho provato a modificare i codici mille 1000 volte e non vanno. Sembrava una cosi facile ad inizio post mandare una email con Excel ora sembra una cosa semi impossibile. Ad ogni modo ripeto che senza una bozza di aiuto penso sia una cosa molto improbabile che io con le mie capacità riesca a farlo funzionare ed a capire le modifiche da apportare da solo.
Ad ogni modo grazie lo stesso. Proverò un altro po altrimenti lascerò stare anche perché mentre faccio queste cose devo anche lavorare e mi viene davvero complicato
forse sara una domanda stupida, ma il tuo account con cui normalmente invii le tue email qual'è?
poi ho visto che tu invii col CDO, altra domanda stupida, in excel nell'editir VBA spunti la libreria che fa riferimento al CDO?
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Albatros assolutamente nessuna domanda stupida. È proprio quello che cerco di spiegare io non so nemmeno cos'è un CDO sto solo cercando di provare ma avendo cosi poche conoscenze non riesco. La mail da cui dovranno essere inviate le email è un email aziendale info@hotel.it che però è registrata su un dominio di Aruba (paghiamo aruba ogni anno per avere il nostro dominio e non ad esempio aruba.it).
Infatti chiedo a voi perché non so proprio da dove iniziare io leggo codici ma a parte capire qualcosa ad un certo punto non so dove mettere mano.
Il tuo primo esempio fa bene il calcolo che deve fare però chiaramente fa uscire il popup e non l'email ed io non capisco come implementare questa cosa.
Chiedo scusa se sono insistente e mi rendo conto che avete le vostre cose da fare ma con altri codici una volta essere stato indirizzato ho modificato in base a quello che mi serviva ma la struttura del codice io non so controllarla quindi non so da dove iniziare 🙂
Spero in un vostro aiuto non so che pesci prendere.
Grazie a tutti
La mail da cui dovranno essere inviate le email è un email aziendale
Bene, pero vorrei sapere con quale programma di email spedisci la posta(Thunderbird, outlook,ecc)
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Guarda potrei optare a questo punto per settare il programma di windows 10 App Posta per intenderci quello che vedi in allegato. Oppure se non va bene potrei scaricare Outlook di office ma preferirei non installare altri programmi se possibile. Ma a questo punto se riusciamo a trovare una soluzione sono aperto ai vostri consigli per me l'importante è fare. il modo si trova!!!
grazie mille
Allegati:
You must be logged in to view attached files.io non so nemmeno cos'è un CDO
nella finestra del visual basic bai a Strumenti, riferimento, cerca Microsoft CDO for windows e metti la spunta, poi prova le macro che già conosci
-
AutoreArticoli
