Mam skrypt programu Outlook, który pokazuje odbiorcę i monituje użytkownika „Czy na pewno chcesz wysłać tę wiadomość e-mail do XXX?” Mamy jednak problem z wtyczką, której używamy do wysyłania bezpiecznych plików, która monituje użytkownika dwukrotnie o skrypt zamiast o jeden raz. Mówią mi, aby przejść przez właściwość items.Attachments, aby sprawdzić, czy nazwa pliku kończy się na „.sf”. Jeśli to zawiera, przerwij mój skrypt. Czy ktoś może mi powiedzieć, jak to zrobić?
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
microsoft-outlook
vba
script
Untalented
źródło
źródło
Odpowiedzi:
Chcesz
For Each
pętla w skrypcie, która przechodzi przez listę załączników. Coś takiego jak poniżej. Uwaga, jest to pseudo-kod. Nie próbowałem tego:źródło