› Sviluppare funzionalita su Microsoft Office con VBA › Macro email
-
AutoreArticoli
-
Buonasera con la presente vi chiedo un codice vba per inviare email, per office 2021
Non mi è mai capitato di spedire una mail tramite VBA in quanto non utilizzo Outlook...quindi ti suggerisco di aspettare il consiglio di altri esperti. Nel frattempo di giro un codice che dovrebbe funzionare.
Option Explicit Sub InvioEmail() Dim emailApp As Object Dim newEmail As Variant Set emailApp = CreateObject("Outlook.Application") With emailApp.CreateItem(newEmail) .To = "indirizzomail@email.it" '<---indirizzo di spedizione .Subject = "Oggetto email" '<---Oggetto del messaggio .Body = "Corpo email" '<---Corpo mail .Attachments.Add "Allegato" '<--Indicare il percoso + nome allegato completo di estensione .Display '<---mostra l'applicativo Outlook pronto per la spedione della email '.Send '<--decommentare (e commentare .Display) per spedizione mail immediata End With Set emailApp = Nothing End SubVi ringrazio infinitamente
In questa discussione era inizialmente allegato un file perchè ora non c'è più?
Buongiorno ho cancellato il file per aggiornamento.
Allegati:
You must be logged in to view attached files.Riguardo alla richiesta di codice per invio email...a cosa serve questo allegato?
Buongiornola richiesta del codice di invio email, serve ad inviare il foglio convertito in pdf, a consulenti, e datore di lavori
Buongiornola richiesta del codice di invio email, serve ad inviare il foglio convertito in pdf, a consulenti, e datore di lavori
Quale foglio? Qui ce ne sono 13. E poi i vari campi (indirizzo di spedizione, oggetto e corpo della mail) da dove li prelevi? Non sto capendo se la tua è un'ulteriore richiesta di aiuto oppure è giusto una spiegazione al fatto che ti servisse un codice adatto alla spedizione delle email
Buongiorno vi allego il foglio ( in preparaziome ) dove ci sono alcuni indirizzi email. Il foglio sara' integrato al foglio alla fine
Allegati:
You must be logged in to view attached files.Buongiorno vi allego il foglio aggiornato con oggetto, testo email dove ci sono alcuni indirizzi email. Dovra' integrato al foglio registri
Bo' non sto capendo che tipo di aiuto ti serve.
Hai allegato gli ultimi 2 file che sembrano praticamente uguali. Da quello che vedo il codice prepara tante mail quanti sono gli indirizzi email indicati. E quindi? Non va bene? Diciamo che per ora posso dirti che questa linea di codice non serve a nulla:
If domanda = vbYes Thenla puoi togliere (ovviamente anche il suo relativo End If in fondo al codice). Hai già istruito il codice con la condizione
If domanda = vbNo Then Exit Subquindi se alla MsgBox rispondi NO allora il codice entra nella condizione su descritta ed esce dalla routine. Al contrario, se rispondi SI allora salta questa linea di codice e prosegue sotto.
Ok va bene. Stasera provo il codice con la modifica inviata. Ti faro sapere.
Buon pomeriggio gli indirizzi da inserire sono circa 40 piu', o meno. L'invio della email deve fare le seguenti operazioni. Sto compilando febbraio, deve convertire in pdf, e inviare lo stesso foglio che e' stato salvato in pdf
@diego100 sto andando un po' in confusione. Non riesco a capire cosa ti serve. Adesso di quale allegato parliamo? Il primo, quello dove ci sono i fogli nominati in base ai mesi?
Fai un reset e spiega in un solo messaggio l'obbiettivo che ti serve raggiungere. Allega a questo messaggio anche l'allegato a cui bisogna metterci le mani.
Cerca di essere chiaro ed esaustivo, evitando messaggi uno dietro l'altro, altrimenti diventa difficile comprendere.
Buon pomeriggio, faccio il reset. Ho il foglio registri, ogni mese devono essere compilati in base ai giorni che lavorano. Una volta compilato, deve essere salvato in pdf, e dopodiche deve essere inviati ai vari destinatari
Quale gestore di posta hai...libero, gmail o altro?
Prova con CDO. Il codice seguente dovrebbe funzionare (potrebbero esserci limitazioni se stai lavorando dietro un proxy aziendale). Modifica opportunamente i campi user e password.
Sub SendMailFromHotmail() Dim iMsg As Object Dim iConf As Object Dim Flds As Variant 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") = "sender@hotmail.com" 'utente reale .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "@JPyL44#Gp!IhGaB" '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") = 25 '587 465 26 .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Update End With With iMsg Set .Configuration = iConf .To = "recipient@domain.it" .From = "sender@hotmail.com" .Subject = "Hello " & Time .TextBody = "Hello world" On Error GoTo err_ .Send End With Set iMsg = Nothing Set iConf = Nothing Exit Sub err_: Debug.Print Err & ": " & Err.Description Resume Next End SubSalva il files e mettilo dove desideri.
Dovrebbe funzionare mai provato con hotmail
Per funzionare bisogna prima compilare i campi nel foglio Festivita R2:R7
Quando sarai in un (foglio-Mese) e avvii il codice, questo salva un Pdf nella stessa directory dove si trova questo files
Se usate il gestore di posta GMAIL, https://myaccount.google.com/security serve Consentire la verifica in due passaggi ed creare una password per APP (questa sarà la password per l'invio-mail). Con altri gestori-posta non mi risultano problematiche.Allegati:
You must be logged in to view attached files.Buonasera ho provato il codice esce errore di run time
Impossibile trovare il file. Verificare che il percorso e il nome del file siano corretti
Il nome del file 02 Foglio presenza consulente.pdf
Il prossimo sara 03 stesso nome, ecc
Buonasera nelle righe r2: r7 nel foglio festivita cosa bisogna inserire per avviare il codice
>>>Il nome del file 02 Foglio presenza consulente.pdf
Non capisco a cosa Ti riferisci, il codice salva in automatico un PDF in base al nome del foglio selezionato Ex FEBBRUARIE_2024_2_2.pdfPer quanto riguarda cosa scrivere....in R4 ed R5 (LA TUA MAIL + LA TUA PASSWORD)
Presumo che per HOTMAIL sia in:
R2 = smtp-mail.outlook.com
R3 = 587
R6+R7 sono già scritteNaturalmente in colonna O le mail VALIDE dei destinatari, dopo andare su un mese qualsiasi e premere il bottone
-
AutoreArticoli
