L'uso degli script VBA in Excel non richiede alcuna conoscenza di programmazione. VBA ti aiuta a svolgere molte attività avanzate come la creazione di un rapporto di foglio di calcolo contenente tutte le informazioni sul PC, l'invio tramite e-mail direttamente da un foglio di calcolo ...
Per inviare e-mail da Microsoft Excel bastano pochi semplici script. Non aver paura di aggiungere questa funzionalità al tuo foglio di calcolo se vuoi ottenere il massimo dal software Excel per ufficio .
Email da Excel
Ci sono molti motivi per cui si desidera inviare e-mail direttamente su Microsoft Excel. Ad esempio, i dipendenti aggiornano settimanalmente documenti e fogli di calcolo e si desidera ricevere notifiche via e-mail al termine di tale azione o, a volte, si desidera inviare tramite e-mail tutti i contatti nella stessa cartella di lavoro. a ...
Devi aver pensato di utilizzare un complicato script di emailing di Excel, ma in realtà è molto semplice. Questo articolo ti guiderà a sfruttare una funzionalità che è stata a lungo disponibile in Excel VBA, denominata Collaboration Data Objects (CDO) .

CDO è un componente di messaggistica utilizzato in Windows sin dalle prime versioni. Si chiamava CDONTS. Dopo la nascita di Windows 2000 e XP, "CDO per Windows 2000" lo sostituì. Questo componente è incluso nell'installazione VBA in Microsoft Word o Excel ed è disponibile per l'uso in qualsiasi momento.
L'utilizzo di questo componente per inviare e-mail nei prodotti Windows con VBA è estremamente semplice. Ad esempio, questo articolo utilizza CDO in Excel per inviare e-mail che contengono risultati in una cella.
Passaggio 1: creare una macro VBA
Innanzitutto, vai alla scheda Sviluppatore Excel > fai clic su Inserisci nel pannello Controlli , quindi seleziona un pulsante di comando.
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Trascinalo in questo foglio di lavoro, quindi crea una nuova macro facendo clic su Macro nella barra multifunzione Sviluppatore.
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Quando fai clic sul pulsante Crea , si apre l'editor VBA.
Aggiungi un riferimento alla libreria CDO navigando su Strumenti> Riferimenti nell'editor.
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Scorri l'elenco verso il basso fino a visualizzare Microsoft CDO per Windows 2000 Library . Seleziona la casella di controllo e fai clic su OK .
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Quando si fa clic su OK , annotare il nome della funzione in cui viene incollato lo script, poiché sarà necessario in un secondo momento.
Passaggio 2: impostare i campi CDO "Da" e "A"
Per fare ciò, è innanzitutto necessario creare oggetti relativi alla posta elettronica e impostare tutti i campi di consegna della posta elettronica richiesti.
Ricorda che molti campi possono o meno, ma sono obbligatori Da e A.
Dim CDO_Mail Come oggetto
Dim CDO_Config Come oggetto
Dim SMTP_Config Come variante
Dim strSoggetto Oggetto String
Dim strFrom Come String
Dim strTo Come String
Dim strCc Come String
Dim strBcc Come String
Dim strBody Come String
strSubject = "Risultati da foglio di calcolo Excel"
strFrom = "rdube02@gmail.com"
strTo = "rdube02@gmail.com"
strCc = ""
strBcc = ""
strBody = "I risultati totali per questo trimestre sono:" & Str (Foglio1 .Cells (2, 1))
La cosa interessante è che puoi creare qualsiasi stringa desiderata per personalizzare l'intero messaggio e-mail e assegnargli la variabile strBody.
Mettere insieme il contenuto di un messaggio e-mail utilizzando stringhe e inserire dati da qualsiasi foglio di calcolo di Microsoft Excel direttamente nell'e-mail (come mostrato sopra).
Passaggio 3: configurare CDO per l'utilizzo di SMTP esterno
Il prossimo pezzo di codice è dove si configura CDO per utilizzare qualsiasi server SMTP esterno per inviare e-mail.
Questo esempio non imposta SSL tramite Gmail, CDO può sostituire SSL ma non rientra nell'ambito di questo articolo. Se devi utilizzare SSL, il codice avanzato in Github può aiutarti.
Set CDO_Mail = CreateObject ("CDO.Message")
On Error GoTo Error_Handling
Set CDO_Config = CreateObject ("CDO.Configuration")
CDO_Config.Load -1
Impostare SMTP_Config = CDO_Config.Fields
Con SMTP_Config .Item
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp. gmail.com "
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ") = 1
.Item (" http://schemas.microsoft.com/cdo/configuration/sendusername ") =" email@website.com ".Item
(" http://schemas.microsoft.com/cdo/configuration/sendpassword ") =" password "
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpusessl ") = True
.Update
End With
Con CDO_Mail
Set .Configuration = CDO_Config
Termina con
Passaggio 4: completare la configurazione del CDO
Ora hai configurato il tuo server SMTP per inviare e-mail. Tutto quello che devi fare è compilare i campi appropriati per l' oggetto CDO_Mail ed emettere il comando Invia .
Ecco come farlo:
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 <> "" Quindi MsgBox Err.Description
Nessuno dei popup o degli avvisi di sicurezza appare come di solito quando si utilizza l'oggetto e-mail di Outlook.
CDO mette semplicemente i componenti di posta elettronica fianco a fianco e utilizza i dettagli di connessione al server per abilitare l'invio di informazioni. Questo è il modo più semplice per combinare le e-mail negli script VBA di Microsoft Word o Excel.
Per connettere il pulsante di comando a questo script, accedi all'editor di codice e fai clic su Foglio1 per vedere il codice VBA di quel foglio di lavoro.
Digita il nome della funzione in cui hai incollato lo script sopra.
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Queste sono le informazioni che ricevi nella posta in arrivo.
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Nota : se viene visualizzato il messaggio di errore Il trasporto non è riuscito a connettersi al server , assicurarsi di aver inserito nome utente, password, server SMTP e numero di porta corretti nella riga di codice elencata in Con SMTP_Config .
Valorizza e automatizza l'intero processo
L'invio di e-mail da Excel con un solo pulsante è davvero sicuro e conveniente. Se si desidera utilizzare questa funzione spesso, è possibile automatizzarla.
Per fare ciò, è necessario modificare la macro. Vai a Visual Basic Editor, copia e incolla l'intero codice raccolto. Quindi, selezionare questo libro di lavoro dalla gerarchia del progetto .
Dai due campi a discesa nella parte superiore della finestra del codice, selezionare Cartella di lavoro e fare clic su Apri dal menu Metodi . Incolla lo script e-mail sopra in Private Sub Workbook_Open () . Questa azione eseguirà la macro ogni volta che si apre il file Excel.
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Quindi, aprire Utilità di pianificazione . Utilizzerai questo strumento per chiedere a Windows di aprire automaticamente i fogli di calcolo a intervalli specifici. In quel momento, la tua macro verrà attivata e inviata via email.
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Seleziona Crea attività di base ... dal menu Azione e segui le istruzioni fino a raggiungere la schermata Azione.
Seleziona Avvia un programma e fai clic su Avanti .
![Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA Istruzioni per linvio di e-mail da fogli di calcolo Excel mediante script VBA]()
Utilizzare il pulsante Sfoglia per trovare la posizione di Microsoft Excel sul computer o copiare e incollare il percorso nel campo Programma / script .
Quindi immettere il percorso del documento Microsoft Excel nel campo Aggiungi argomenti .
Saranno fatte le istruzioni complete e il programma.
È necessario testare questa funzione pianificando l'azione nei prossimi minuti, quindi rivedendo l'attività dopo averla vista funzionare correttamente.
Nota : potrebbe essere necessario regolare le impostazioni del Centro protezione per assicurarsi che la macro venga eseguita come segue:
Apri il foglio di calcolo e vai a File> Opzioni> Centro protezione .
Qui, fai clic su Impostazioni Centro protezione . Nella schermata successiva, seleziona Non mostrare mai informazioni sul contenuto bloccato .
Microsoft Excel è uno strumento estremamente potente, ma imparare a usarlo a volte può essere una sfida per molti. Se vuoi padroneggiare questo software, devi sapere come usare VBA. Non è facile
Tuttavia, con una piccola esperienza VBA, puoi automatizzare le attività di base su Microsoft Excel e avere più tempo a concentrarti su attività più importanti.
Spero che l'articolo ti sia utile. Ti auguro successo!