Ich habe ein Outlook-Skript, das den Empfänger anzeigt und den Benutzer fragt: „Möchten Sie diese E-Mail wirklich an XXX senden?“ Wir haben jedoch ein Problem mit einem Plugin, das wir zum Senden sicherer Dateien verwenden und das den Benutzer vom Skript aus zweimal statt einmal auffordert. Sie sagen mir, ich solle die Eigenschaft items.Attachments durchlaufen, um nach einem Dateinamen mit der Endung „.sf“ zu suchen. Wenn dies der Fall ist, soll ich mein Skript abbrechen. Kann mir jemand sagen, wie das geht?
Private Sub Application_ItemSend _ (ByVal Item As Object, Cancel As Boolean)
Dim strMsg As String
Dim Atmt As Variant
If Item.Class = "43" Then
For Each Atmt In Item.Attachments
If Right(Atmt.FileName, 3) = ".sf" Then
GoTo NonEmailError
End If
Next Atmt
If Item.CC = "" Then
strMsg = "To recipients: " & Item.To & vbCrLf & _
"Are you sure you want to send this message?"
Else
strMsg = "To recipients: " & Item.To & vbCrLf & _
"Cc recipients: " & Item.CC & vbCrLf & _
"Bcc recipients: " & Item.BCC & vbCrLf & _
"Are you sure you want to send this message?"
End If
Else
GoTo NonEmailError
End If
On Error GoTo NonEmailError
NonEmailError:
' The item being sent was not an e-mail and so don't prompt the user anything
Exit Sub
End Sub
Antwort1
Sie möchten eine For Each
Schleife in Ihrem Skript, die die Liste der Anhänge durchläuft. So etwas wie das Folgende. Beachten Sie, dass es sich um Pseudocode handelt. Ich habe es nicht ausprobiert:
For Each Atmt In item.Attachments
If Right(Atmt.FileName, 3) = ".sf" Then
-- Your code here
EndIf
Next Atmt