Come utilizzare l’automazione per inviare un messaggio di Microsoft Outlook utilizzando Access 2000
Sommario
Questo articolo mostra come utilizzare l’automazione per creare e inviare un messaggio di Microsoft Outlook in Microsoft Access 2000.
Microsoft fornisce esempi di programmazione solo a scopo illustrativo, senza garanzie espresse o implicite. Ciò include, ma non è limitato a, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. Questo articolo presuppone che tu abbia familiarità con il linguaggio di programmazione che viene dimostrato e con gli strumenti utilizzati per creare e eseguire il debug delle procedure. Gli ingegneri del supporto Microsoft possono aiutare a spiegare la funzionalità di una particolare procedura, ma non modificheranno questi esempi per fornire funzionalità aggiuntive o costruire procedure per soddisfare i requisiti specifici.
NOTA: il seguente codice potrebbe non funzionare correttamente se è stato installato l’aggiornamento della sicurezza e-mail di Outlook. Per ulteriori informazioni su questo aggiornamento, vedere i seguenti articoli della Microsoft Knowledge Base riportato di seguito, a seconda della versione di Outlook installata:
262631 OL2000: Informazioni Sulla Protezione della posta elettronica Outlook Update
262617 OL98: Informazioni Sulla Protezione della posta elettronica Outlook Update
È possibile utilizzare il metodo SendObject per inviare un messaggio di posta elettronica MAPI a livello di programmazione in Microsoft Access. Tuttavia, il metodo SendObject non consente di accedere alla funzionalità di posta completa, ad esempio la possibilità di allegare un file esterno o impostare l’importanza del messaggio. L’esempio che segue utilizza l’automazione per creare e inviare un messaggio di posta elettronica che è possibile utilizzare per sfruttare molte funzionalità di Microsoft Outlook che non sono disponibili con il metodo SendObject.
Ci sono sei passaggi principali per l’invio di un messaggio di posta elettronica di Microsoft Outlook utilizzando l’automazione, come segue:
-
Inizializzare la sessione di Outlook.
-
Crea un nuovo messaggio.
-
Aggiungere i destinatari (A, CC e CCN) e risolvere i loro nomi.
-
Impostare le proprietà valide, ad esempio il Soggetto, il Corpo e l’Importanza.
-
Aggiungere allegati (se presenti).
-
Visualizza / Invia il messaggio.
Invio di un messaggio di posta di Microsoft Outlook a livello di codice
-
Creare un file di testo di esempio denominato Clienti.txt nel C:\My Cartella Documenti.
-
Avviare Microsoft Access e aprire il database di esempio Northwind.mdb.
-
Creare un modulo e digitare la seguente riga nella sezione Dichiarazioni se non è già presente:
Option Explicit
-
Nel menu Strumenti, fare clic su Riferimenti.
-
Nella casella Riferimenti, fare clic per selezionare la libreria di oggetti Microsoft Outlook 9.0, quindi fare clic su OK.
NOTA: se la libreria di oggetti di Microsoft Outlook 9.0 non viene visualizzata nella casella Riferimenti disponibili, cercare sul disco rigido 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 seguente procedura 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 seguente riga 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 procedura, come indicato di seguito:
SendMessage