Sviluppare funzionalita su Microsoft Office con VBA Creazione Invio Email e Formattazione testo

Login Registrati
Stai vedendo 25 articoli - dal 1 a 25 (di 45 totali)
  • Autore
    Articoli
  • #23870 Score: 0 | Risposta

    FROST220684
    Partecipante

      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.
      #23876 Score: 0 | Risposta

      albatros54
      Moderatore
        89 pts

        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 Sub

         

        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 )
        #23885 Score: 0 | Risposta

        FROST220684
        Partecipante

          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

          #23887 Score: 0 | Risposta

          patel
          Moderatore
            51 pts

            FROST, hai allegato file xlsm senza macro, quale tipo di mano cerchi ? qualcuno che ti faccia tutto ?

            #23888 Score: 0 | Risposta

            FROST220684
            Partecipante

              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

              #23894 Score: 0 | Risposta

              patel
              Moderatore
                51 pts

                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.

                #23895 Score: 0 | Risposta

                FROST220684
                Partecipante

                  Vedrò cosa riesco a fare 

                  Grazie

                  #23911 Score: 0 | Risposta

                  FROST220684
                  Partecipante

                    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

                    #23912 Score: 0 | Risposta

                    FROST220684
                    Partecipante

                      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

                      #23915 Score: 0 | Risposta

                      patel
                      Moderatore
                        51 pts

                        ma ci vuole tanto a scrivere su google "vba inviare mail con aruba" ?

                        #23918 Score: 0 | Risposta

                        FROST220684
                        Partecipante

                          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.Description
                          
                          #23919 Score: 0 | Risposta

                          patel
                          Moderatore
                            51 pts

                            l'hai provato per inviare una mail ?

                            #23921 Score: 0 | Risposta

                            FROST220684
                            Partecipante
                              Sub 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 Sub

                              si 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.
                              #23929 Score: 0 | Risposta

                              patel
                              Moderatore
                                51 pts

                                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

                                #23947 Score: 0 | Risposta

                                FROST220684
                                Partecipante

                                  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.
                                  #23949 Score: 0 | Risposta

                                  FROST220684
                                  Partecipante

                                    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.

                                     

                                    #23951 Score: 0 | Risposta

                                    patel
                                    Moderatore
                                      51 pts

                                      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

                                      #23952 Score: 0 | Risposta

                                      FROST220684
                                      Partecipante

                                        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

                                        #23955 Score: 0 | Risposta

                                        patel
                                        Moderatore
                                          51 pts

                                          si tratta solo di provare, anche per outlook si trovano in rete parecchi esempi

                                          #23957 Score: 0 | Risposta

                                          FROST220684
                                          Partecipante

                                            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

                                            #23963 Score: 0 | Risposta

                                            albatros54
                                            Moderatore
                                              89 pts

                                              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 )
                                              #23964 Score: 0 | Risposta

                                              FROST220684
                                              Partecipante

                                                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

                                                #23965 Score: 0 | Risposta

                                                albatros54
                                                Moderatore
                                                  89 pts

                                                  FROST220684 ha scritto:

                                                  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 )
                                                  #23966 Score: 0 | Risposta

                                                  FROST220684
                                                  Partecipante

                                                    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.
                                                    #23970 Score: 0 | Risposta

                                                    patel
                                                    Moderatore
                                                      51 pts

                                                      FROST220684 ha scritto:

                                                      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

                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 1 a 25 (di 45 totali)
                                                    Rispondi a: Creazione Invio Email e Formattazione testo
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni: