Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo si applica a un database di Microsoft Access (.mdb) e a un progetto di Microsoft Access (adp).
Sommario
Questo articolo illustra come usare Automazione per creare e inviare un messaggio di Microsoft Outlook in Microsoft Access 2000.
Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.
Nota
Il codice seguente potrebbe non funzionare correttamente se è stato installato l'aggiornamento della sicurezza della posta elettronica di Outlook.
È possibile utilizzare il metodo SendObject
per inviare un messaggio di posta elettronica MAPI a livello di codice in Microsoft Access. Tuttavia, il metodo SendObject
non consente di accedere alla funzionalità completa della posta, ad esempio la possibilità di allegare un file esterno o impostare l'importanza del messaggio. Nell'esempio seguente viene utilizzata l'automazione per creare e inviare un messaggio di posta elettronica che è possibile utilizzare per sfruttare molte funzionalità di Microsoft Outlook non disponibili con il metodo SendObject
.
Esistono sei passaggi principali per l'invio di un messaggio di posta elettronica di Microsoft Outlook tramite Automazione, come indicato di seguito:
- Inizializzare la sessione di Outlook.
- Crea un nuovo messaggio.
- Aggiungere i destinatari (A, CC e CCN) e risolvere i relativi nomi.
- Impostare proprietà valide, ad esempio Subject, Body e Importance.
- Aggiungere allegati (se presenti).
- Visualizzare/inviare il messaggio.
Invio di un messaggio di posta elettronica di Microsoft Outlook a livello di codice
Creare un file di testo di esempio denominato Customers.txt nella cartella C:\Documenti.
Avviare Microsoft Access e aprire il database di esempio Northwind.mdb.
Creare un modulo e digitare la riga seguente nella sezione Dichiarazioni, se non è già presente:
Option Explicit
Nel menu strumenti di selezionare Riferimenti.
Nella casella Riferimenti selezionare la Libreria oggetti di Microsoft Outlook 9.0e quindi selezionare OK.
Nota
Se la libreria oggetti di Microsoft Outlook 9.0 non viene visualizzata nella casella riferimenti disponibili, individuare il disco rigido per il file Msoutl9.olb. Se non è possibile individuare questo file, è necessario eseguire il programma di installazione di Microsoft Outlook per installarlo prima di procedere con questo esempio.
Digitare la procedura seguente nel nuovo modulo:
Sub SendMessage(Optional AttachmentPath) Dim objOutlook As Outlook.Application Dim objOutlookMsg As Outlook.MailItem Dim objOutlookRecip As Outlook.Recipient Dim objOutlookAttach As Outlook.Attachment ' Create the Outlook session. Set objOutlook = CreateObject("Outlook.Application")' Create the message. Set objOutlookMsg = objOutlook.CreateItem(olMailItem) With objOutlookMsg ' Add the To recipient(s) to the message. Set objOutlookRecip = .Recipients.Add("Nancy Davolio") objOutlookRecip.Type = olTo ' Add the CC recipient(s) to the message. Set objOutlookRecip = .Recipients.Add("Andrew Fuller") objOutlookRecip.Type = olCC ' Set the Subject, Body, and Importance of the message. .Subject = "This is an Automation test with Microsoft Outlook" .Body = "Last test - I promise." & vbCrLf & vbCrLf .Importance = olImportanceHigh 'High importance ' Add attachments to the message. If Not IsMissing(AttachmentPath) Then Set objOutlookAttach = .Attachments.Add(AttachmentPath) End If ' Resolve each Recipient's name. For Each objOutlookRecip In .Recipients objOutlookRecip.Resolve If Not objOutlookRecip.Resolve Then objOutlookMsg.Display End If Next .Send End With Set objOutlookMsg = Nothing Set objOutlook = Nothing End Sub
Per testare questa procedura, digitare la riga seguente nella finestra immediata e quindi premere INVIO:
SendMessage "C:\My Documents\Customers.txt"
Per inviare il messaggio senza specificare un allegato, omettere l'argomento quando si chiama la routine, come indicato di seguito:
SendMessage