Come posso programmare Excel per lavorare con Outlook? [chiuso]
Domanda
Ho un file Excel abbastanza grande. In questo file c'è una colonna con le date. Vorrei sapere se / come sarebbe possibile creare un programma in grado di leggere la data e inviare un avviso con 30 giorni di anticipo al calendario di Outlook o inviare un'e-mail tramite Outlook nel mio ufficio. C'è un'API decente che potrei usare per questo? In tal caso, dove posso trovarne uno? Oppure esistono programmi in grado di eseguire questa funzione?
Soluzione
Dovresti essere in grado di scrivere uno script VBA di Excel che interagisce con Outlook. Vedi http://www.dicks-clicks.com/excel/olAutomating.htm per una buona guida su questo. In particolare http://www.dicks-clicks.com/excel/olCalendar.htm #Creating_an_Appointment menziona come creare elementi del calendario. Basta essere consapevoli che la maggior parte degli esempi sono per Outlook / Excel 2000, immagino che la maggior parte dovrebbe funzionare con le versioni più recenti ma alcuni oggetti potrebbero essere rinominati.
Outlook Code è un altro buon sito con esempi di codice per l'integrazione di Outlook in generale. Per esempio. http://outlookcode.com/article.aspx?id=49
Ovviamente non è necessario codificare tutto all'interno di Excel, dovresti riuscire facilmente a fare la stessa cosa in un'applicazione personalizzata (ad es. un'applicazione .NET).
Altri suggerimenti
Puoi aprire una macro quando apri un foglio Excel per controllare e aggiornare il calendario e inviare e-mail.
Ecco un esempio su come inviare e-mail tramite Outlook frommexcel. Ma il problema è che Outlook ci mostrerà un popup di sicurezza che dice che Excel sta cercando di inviare un'e-mail utilizzando Outlook e se lo si desidera consentire o meno.
Ecco un altro esempio che mostra come ignorare questo avviso di sicurezza.
Questo thred ha un esempio su come inviare e-mail utilizzando un server di posta se sei interessato (non l'hai provato).
Ed ecco un esempio su come aggiungere un evento per Outlook calandra. Spero che questo aiuti.