Я не думаю, что есть какой-либо стандартный способ. Вот еще один макрос VBA, который более динамичен, чем тот, который вы уже нашли с помощью regexp:
Option Explicit
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim regEx As New VBScript_RegExp_55.RegExp
Dim Match, Matches
Dim mail As MailItem
' Check if this is a mail
If Not Item.Class = olMail Then Exit Sub
Set mail = ActiveInspector.CurrentItem
' Check if the user forgot the attachment
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
If mail.Attachments.Count = 0 Then ' no attachment
Dim s As String
s = mail.Body
' remove previous answers from the convesation (for Outlook 2003)
If InStr(1, s, "_", vbTextCompare) <> 0 Then
s = Mid(s, 1, InStr(1, s, "_", vbTextCompare))
End If
' if the message is not in HTML
If InStr(1, s, "-Message d'origine-", vbTextCompare) <> 0 Then
s = Mid(s, 1, InStr(1, s, "-Message d'origine-", vbTextCompare))
End If
regEx.Pattern = "(^|^\w+)(attachment|joined|here is|document|linked)^\w+"
Set Matches = regEx.Execute(s)
If Matches.Count > 0 Then
Cancel = MsgBox("VYou may have forgotten to join the attachment. Are you sure you want to send your mail ?", vbYesNo + vbExclamation, "Missing attachment!") = vbNo
End If
End If
End Sub
Обратите внимание, что вы можете перевести каждое ключевое слово на ваш текущий язык.
Вот несколько документов, объясняющих, как добавить макрос в Outlook:
Вы также можете найти некоторые платные решения.