У меня есть скрипт Outlook, который показывает получателя и спрашивает пользователя: «Вы уверены, что хотите отправить это письмо XXX?». Однако у нас есть проблема с плагином, который мы используем для отправки защищенных файлов, который спрашивает пользователя дважды из скрипта вместо одного. Они говорят мне перебрать свойство items.Attachments, чтобы проверить имя файла, заканчивающееся на «.sf». Если оно содержит это, то прервать мой скрипт. Может кто-нибудь сказать мне, как это сделать?
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
решение1
Вам нужен For Each
цикл в вашем скрипте, который проходит по списку вложений. Что-то вроде нижеприведенного. Обратите внимание, это псевдокод. Я не пробовал:
For Each Atmt In item.Attachments
If Right(Atmt.FileName, 3) = ".sf" Then
-- Your code here
EndIf
Next Atmt