Skrypt Outlook do sprawdzenia ukrytego załącznika

1

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
Untalented
źródło
Podczas kompilacji pojawia się błąd: Nie można znaleźć projektu lub biblioteki i podświetla „Prawo”.
Untalented
Dodałem VBA.Right zamiast „Right” i teraz się kompiluje. Jednak pomija wszystko, co się wydaje, a nawet nie monituje użytkownika o wysłanie wiadomości.
Untalented

Odpowiedzi:

1

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:

For Each Atmt In item.Attachments
    If Right(Atmt.FileName, 3) = ".sf" Then
       --  Your code here
    EndIf
Next Atmt
Rhys Gibson
źródło
Dzięki za wskazówkę. Oto rzeczywisty kod, który dostaję błąd kompilacji, który mówi: „Nie można znaleźć projektu lub biblioteki” i podkreśla polecenie „Prawidłowe”, które masz powyżej. Daj mi znać, jeśli poniższy kod wygląda poprawnie i jak go naprawić, jeśli to możliwe. Zabrakło mi miejsca, więc opublikowałem tylko część i nie mogę uzyskać prawidłowego formatowania.
Untalented