Ich arbeite an einem Makro, das den Anlagennamen anhand des Subjektnamens und der Domäne überprüft.Signatur aus Anlage-Lookup-Makro ausschließen
Im Moment gibt es ein paar kleinere Probleme, ich möchte nicht, dass das Makro Bilder in der Signatur als Anhang erkennt. Lösungen, die ich gesehen habe, schließen das Verwenden einer if-Anweisung ein, um die Größe auszuarbeiten, also zum Beispiel nur Anhänge über 5kb etc. überprüfen.
Das andere Problem ist, wenn es keinen Anhang überhaupt gibt, fällt das Makro um! Ich denke, ich brauche am Ende noch eine if-Anweisung, um eine Item-Zählung durchzuführen, aber ich bin nicht sicher, wie das meine Bedingungen am Ende des Makros ändert!
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim outRecips As Outlook.Recipients
Dim outRecip As Outlook.Recipient
Dim outPropAcc As Outlook.PropertyAccessor
Dim strDomain As String
Dim lngPreDom As Long
Dim lngPostDom As Long
Dim strSubject As String
Dim objAttachments As Outlook.Attachments
Dim strAttachment As String
Dim Response As String
' set domain value
Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
Set outRecips = Item.Recipients
For Each outRecip In outRecips
Set outPropAcc = outRecip.PropertyAccessor
strDomain = outPropAcc.GetProperty(PR_SMTP_ADDRESS)
strDomain = Split(strDomain, "@")(1)
lngPreDom = InStr(strDomain, "@")
lngPostDom = InStr(strDomain, ".")
strDomain = LCase(Mid(strDomain, lngPreDom + 1, lngPostDom - lngPreDom - 1))
Exit For
Next
' set subject value
strSubject = LCase(Item.Subject)
' set attachment name
Set objAttachments = Item.Attachments
strAttachment = LCase(objAttachments.Item(1).FileName)
' if external recipient, check email contents
If strDomain <> "exampleemail" _
Then
If InStr(strSubject, strDomain) = 0 _
Or InStr(strAttachment, strDomain) = 0 _
Or InStr(strAttachment, strSubject) = 0 _
Then
Response = "Attachment/Subject do not match Recipient(s)" & vbNewLine & "Send Anyway?"
If MsgBox(Response, vbYesNo + vbExclamation + vbMsgBoxSetForeground, "Check Recipients") = vbNo Then
Cancel = True
End If
End If
End If
End Sub
Wenn jemand einem Mädchen in Not helfen kann, wäre ich sehr dankbar! Ich habe versucht, das fast den ganzen Tag herauszufinden !! Vielen Dank :) – Coz123