Eu tenho um script do Outlook que mostra o destinatário e pergunta ao usuário "Tem certeza de que deseja enviar este e-mail para XXX?" No entanto, temos um problema com um plug-in que usamos para enviar arquivos seguros que solicita ao usuário duas vezes o script em vez de uma vez. Eles me dizem para percorrer a propriedade items.Attachments para verificar se há um nome de arquivo que termina com ".sf". Se contiver isso, aborte meu script. Alguém pode me dizer como fazer isso?
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
Responder1
Você deseja um For Each
loop em seu script que percorra a lista de anexos. Algo como o abaixo. Observe que este é um pseudocódigo. Eu não tentei:
For Each Atmt In item.Attachments
If Right(Atmt.FileName, 3) = ".sf" Then
-- Your code here
EndIf
Next Atmt