2011-08-01 13 views
2

大きな添付ファイルが添付されている場合、Outlookのaddinチェック(ユーザーが「送信」をクリックしたとき)をチェックします。そうであれば、それを削除して送信をキャンセルし、ユーザーにフォーカスを戻す必要があります。Outlook.MailItemから添付ファイルを削除できません

ここでアクティブなメールアイテムは、まだすべての添付を示し

Private Sub ThisApplication_ItemSend(ByVal Item As Object, ByRef Cancel As Boolean) Handles Application.ItemSend 
    Dim mail As Outlook.MailItem = CType(Me.Application.ActiveInspector.CurrentItem, Outlook.MailItem) 
    For i As Integer = mail.Attachments.Count To 1 Step -1 
     mail.Attachments.Remove(i) 
    Next 
    Cancel = True 
End Sub 

...私のOutlookのアドインコードのサンプルです。 :(

モジョ

+0

"_ユーザーがメールを送信する前にすべての添付ファイルを削除するにはどうすればよいですか?_"確認したいだけですが、実際には2つの質問があります。最初に、 'mail.Attachments.Remove(i)'がなぜ期待どおりに動いていないのか尋ねています。そして第2は 'Cancel = True'がなぜ期待どおりに動いていないのか疑問視しています。正しい? – ckittel

+0

もし私がキャンセル= trueに設定した場合、メールは送信されず、ユーザーはメールを変更することができます...キャンセルは完全に機能します。しかし、mail.Attachments.Remove(i)はバックグラウンドで添付ファイルを削除する可能性がありますが、視覚的にはまだメールにあります。 :) – MojoDK

+0

ここに記事を公開するために投稿を試してください:http://www.add-in-express.com/forum/read.php?FID=5&TID=5621 –

答えて

1

はこれを試してみてくださいどのようにOutlookが(ユーザーがメールを送信する前に)すべての添付ファイルを削除し、おかげで百万送信

キャンセルするのですか

:?を!

Private Sub Application_ItemSend(ByVal Item As Object, ByRef Cancel As Boolean) Handles Application.ItemSend 
    Dim mail As Outlook.MailItem = CType(Me.Application.ActiveInspector.CurrentItem, Outlook.MailItem) 
    For Each a As Outlook.Attachment In mail.Attachments 
     a.Delete() 
    Next 
    Cancel = True 
End Sub 
0

古い質問私は知っていますが、私はOutlook 2010で同じ問題を抱えていますが、削除したり削除したりするまでには、私が追加するまで働いていませんでした:

mail.Save 
関連する問題