Je voudrais programmer Outlook pour envoyer un e-mail à l'avance et, si aucune réponse n'est envoyée à l'e-mail cible avant la date x, envoyer un autre e-mail.
J'ai essayé l'expérimentation, en essayant les VBA Excel, mais je n'ai pas trouvé de solution.
Je ne sais vraiment pas comment procéder, même si j'ai une expérience en programmation.
1 réponse
Je souhaite programmer Outlook pour envoyer un e-mail à l'avance
C'est une tâche très simple. De nombreux exemples sont disponibles sur Internet, par exemple, un exemple de code dans VB.NET:
Private Sub CreateSendItem(OutlookApp As Outlook._Application)
Dim mail As Outlook.MailItem = Nothing
Dim mailRecipients As Outlook.Recipients = Nothing
Dim mailRecipient As Outlook.Recipient = Nothing
Try
mail = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem)
mail.Subject = "A programatically generated e-mail"
mailRecipients = mail.Recipients
mailRecipient = mailRecipients.Add("Eugene Astafiev")
mailRecipient.Resolve()
If (mailRecipient.Resolved) Then
mail.Send()
Else
System.Windows.Forms.MessageBox.Show(
"There is no such record in your address book.")
End If
Catch ex As Exception
System.Windows.Forms.MessageBox.Show(ex.Message,
"An exception is occured in the code of add-in.")
Finally
If Not IsNothing(mailRecipient) Then Marshal.ReleaseComObject(mailRecipient)
If Not IsNothing(mailRecipients) Then Marshal.ReleaseComObject(mailRecipients)
If Not IsNothing(mail) Then Marshal.ReleaseComObject(mail)
End Try
End Sub
En savoir plus à ce sujet dans les articles suivants:
- Comment: créer et envoyer un message Outlook par programme
- Comment: remplir les champs TO, CC et BCC dans Outlook par programme
- Comment créer et afficher un nouvel élément de messagerie Outlook par programme: C #, VB.NET
si aucune réponse n'est envoyée à l'e-mail cible avant la date x, envoyez un autre e-mail.
Vous pouvez définir les propriétés suivantes sur l'e-mail:
- MailItem.TaskDueDate qui définit une valeur Date qui représente la date d'échéance de la tâche pour ce MailItem.
- MailItem.ReminderSet qui définit une valeur booléenne qui est True si un rappel a été défini pour cet élément.
- MailItem.ReminderTime qui définit une date indiquant la date et l'heure auxquelles le rappel doit se produire pour l'élément spécifié.
dans le Application.Reminder gestionnaire d'événements, vous pouvez vérifier si l'élément de courrier a été répondu ou transféré en lisant une valeur de propriété de bas niveau. La propriété que vous lisez serait PR_LAST_VERB_EXECUTED (0x10810003). Les valeurs sont répertoriées ci-dessous:
EXCHIVERB_REPLYTOSENDER = 102
EXCHIVERB_REPLYTOALL = 103
EXCHIVERB_FORWARD = 104
N'oubliez pas que vous pouvez utiliser le PropertyAccessor
pour cela:
lastVerbExecuted = mailItem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x10810003")
De nouvelles questions
excel
Uniquement pour les questions sur la programmation contre des objets ou des fichiers Excel, ou le développement de formules complexes. Vous pouvez combiner la balise Excel avec VBA, VSTO, C #, VB.NET, PowerShell, l'automatisation OLE et d'autres balises et questions liées à la programmation, le cas échéant. Une aide générale concernant MS Excel pour les fonctions de feuille de calcul unique est disponible sur Super User.