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.

0
CaeserWilliams 4 nov. 2019 à 03:34

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:

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")
0
Eugene Astafiev 4 nov. 2019 à 10:05