Tengo un script de Outlook que muestra el destinatario y le pregunta al usuario "¿Está seguro de que desea enviar este correo electrónico a XXX?" Sin embargo, tenemos un problema con un complemento que utilizamos para enviar archivos seguros que solicita al usuario dos veces desde el script en lugar de una vez. Me dicen que recorra la propiedad items.Attachments para verificar si hay un nombre de archivo que termine en ".sf". Si contiene esto, entonces cancelar mi script. ¿Puede alguien decirme cómo hacer esto?
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
Respuesta1
Quiere un For Each
bucle en su secuencia de comandos que recorra la lista de archivos adjuntos. Algo como lo siguiente. Tenga en cuenta que esto es un pseudocódigo. No lo he probado:
For Each Atmt In item.Attachments
If Right(Atmt.FileName, 3) = ".sf" Then
-- Your code here
EndIf
Next Atmt