受信者を表示し、ユーザーに「この電子メールを XXX に送信してもよろしいですか?」と尋ねる Outlook スクリプトがあります。しかし、セキュリティ保護されたファイルを送信するのに使用しているプラグインに問題があり、スクリプトからユーザーに 1 回ではなく 2 回尋ねるようになっています。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