Automazione di Outlook mediante Visual Basic

Traduzione articoli Traduzione articoli
Identificativo articolo: 220595 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene spiegato come controllare Microsoft Outlook a livello di codice utilizzando la funzionalità di automazione di Visual Basic. Nell'esempio vengono illustrate le procedure di creazione di contatti, creazione di appuntamenti e invio di messaggi mediante il modello oggetti di Microsoft Outlook.

Informazioni

Per creare ed eseguire l'esempio, attenersi alla procedura descritta di seguito. Per eseguire l'esempio, è necessario un riferimento ad associazione anticipata a una libreria di tipi di Microsoft Outlook. Nella tabella seguente sono elencati i nomi file delle librerie di tipi per le varie versioni di Microsoft Outlook:
Riduci questa tabellaEspandi questa tabella
Versione di OutlookIdentificazione della libreria di tipi nell'elenco di riferimentiNomefile
Outlook 97"Libreria oggetti di Microsoft Outlook 8.0"msoutl8.olb
msoutl8.olb"Libreria oggetti di Microsoft Outlook 98"msoutl85.olb
Outlook 2000"Libreria oggetti di Microsoft Outlook 9.0"msoutl9.olb
Outlook 2002"Libreria oggetti di Microsoft Outlook 10.0"msoutl.olb
Office Outlook 2003"Libreria oggetti di Microsoft Outlook 11.0"msoutl.olb

Creazione del modello di automazione

  1. Avviare Visual Basic e creare un nuovo progetto EXE standard.
  2. Scegliere Riferimenti dal menu Progetto e selezionare Microsoft Outlook.
  3. Aggiungere un pulsante al form.
  4. Fare doppio clic sul pulsante, quindi aggiungere il seguente codice:
    ' Start Outlook.  
    ' If it is already running, you'll use the same instance...    
      Dim olApp As Outlook.Application
      Set olApp = CreateObject("Outlook.Application")
    
    ' Logon. Doesn't hurt if you are already running and logged on...    
      Dim olNs As Outlook.NameSpace
      Set olNs = olApp.GetNamespace("MAPI")
      olNs.Logon   
    
    ' Create and Open a new contact.   
      Dim olItem As Outlook.ContactItem    
      Set olItem = olApp.CreateItem(olContactItem)   
    
    ' Setup Contact information...    
      With olItem       
         .FullName = "James Smith"
         .Birthday = "9/15/1975"      
         .CompanyName = "Microsoft"      
         .HomeTelephoneNumber = "704-555-8888"    
         .Email1Address = "someone@microsoft.com"       
         .JobTitle = "Developer"      
         .HomeAddress = "111 Main St." & vbCr & "Charlotte, NC 28226"    
      End With      
    
    ' Save Contact...    
      olItem.Save       
    
    ' Create a new appointment.    
      Dim olAppt As Outlook.AppointmentItem    
      Set olAppt = olApp.CreateItem(olAppointmentItem)      
    
    ' Set start time for 2-minutes from now...    
      olAppt.Start = Now() + (2# / 24# / 60#)      
    
    ' Setup other appointment information...    
      With olAppt       
         .Duration = 60      
         .Subject = "Meeting to discuss plans..."       
         .Body = "Meeting with " & olItem.FullName & " to discuss plans."       
         .Location = "Home Office"       
         .ReminderMinutesBeforeStart = 1       
         .ReminderSet = True    
      End With       
    
    ' Save Appointment...    
      olAppt.Save       
    
    ' Send a message to your new contact.    
      Dim olMail As Outlook.MailItem    
      Set olMail = olApp.CreateItem(olMailItem)  
    ' Fill out & send message...    
      olMail.To = olItem.Email1Address    
      olMail.Subject = "About our meeting..."   
      olMail.Body = _         
           "Dear " & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _         
           "I'll see you in 2 minutes for our meeting!" & vbCr & vbCr & _         
           "Btw: I've added you to my contact list."    
      olMail.Send       
    
    ' Clean up...    
      MsgBox "All done...", vbMsgBoxSetForeground    
      olNS.Logoff    
      Set olNs = Nothing    
      Set olMail = Nothing    
      Set olAppt = Nothing    
      Set olItem = Nothing    
      Set olApp = Nothing
  5. Eseguire il progetto, quindi fare clic sul pulsante per eseguire il codice.
Dopo l'esecuzione del codice, dovrebbe essere presente un nuovo contatto denominato "James Smith", dovrebbe essere stato pianificato un appuntamento dopo due minuti con un promemoria che verrà visualizzato dopo un minuto e dovrebbe essere stato inviato un messaggio a someone@microsoft.com. Essendo inoltre stata aggiunta la data di compleanno del contatto (15/09), è stato aggiunto un evento ricorrente per il Calendario di Outlook come promemoria di questo giorno.

In Outlook 2002 sono state aggiunte due nuove finestre di dialogo: in una viene visualizzato un messaggio di avviso indicante che un programma sta tentando di accedere agli indirizzi di posta elettronica memorizzati in Outlook e in cui si richiede di confermare questa operazione e nell'altra viene visualizzato un messaggio indicante che un programma sta tentando di inviare posta elettronica. Questa funzionalità impedisce ai virus di inviare posta elettronica dal sistema all'insaputa dell'utente.

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
290500 Descrizione delle caratteristiche di protezione della posta elettronica per sviluppatori in Outlook 2002

Riferimenti

Per ulteriori informazioni sulle risorse di programmazione di Outlook, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
166368 Risorse per la personalizzazione di form e la programmazione in Outlook 97
180826 Risorse per la personalizzazione di form e la programmazione in Outlook 98
271225 Risorse per la personalizzazione di form e la programmazione in Outlook 2000
287531 OL2002: Risorse per la creazione di moduli personalizzati e la programmazione
313802 Recupero di contatti mediante il modello oggetti di Outlook in Visual Basic .NET
313788 Creazione di appuntamenti mediante il modello oggetti di Outlook in Microsoft Visual Basic .NET

Proprietà

Identificativo articolo: 220595 - Ultima modifica: giovedì 2 febbraio 2006 - Revisione: 9.0
Le informazioni in questo articolo si applicano a
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 97 Standard Edition
  • Microsoft Outlook 98 Standard Edition
Chiavi: 
kbhowto kboutlookobj kbautomation KB220595
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com