2017-05-08 12 views
0

私はVisual Studio 2017 Proをインストールしていて、VSTO Outlookアドインを作成しています。基本的には、新しいアイテムが送信済みアイテムフォルダに追加されたときにコードを実行します。私は研究しており、明らかに、これはItemSendイベントのコードを持つよりも、これを行う最も効率的な方法です。Visual Basic move outlookが他のフォルダにアイテムを送った

さまざまなMsgBoxコマンドが追加されていますので、実際にはさまざまなビットが実行されていますが、何らかの理由でItemAddイベントが発生していないようです。私のコードは次の通りです:

Public Class ThisAddIn 
    Public WithEvents myOlItems As Outlook.Items 

    Private Sub ThisAddIn_Startup() Handles Me.Startup 
     MsgBox("Initliasing add-in") 
     AddIn_Init() 
    End Sub 

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 

    End Sub 

    Private Sub AddIn_Init() 
     myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail).Items 
     MsgBox("We are ready!") 
    End Sub 

    Private Sub myOlItems_ItemAdd(ByVal Item As Object) 
     MsgBox("You sent an email from " & Item.SenderEmailAddress) 
    End Sub 

End Class 

私はそれが動作に近いですが、かなりはまだありません - 非常に感謝して受け取ったポインタ。

+0

ハンドルmyOlItems.ItemAddを追加しようとしましたか? –

+0

こんにちは - プライベートサブmyOlItems_ItemAdd(ByValアイテムとしてオブジェクト)は何ですか? –

+0

申し訳ありません私は理解していませんでした - 一度私はVisual Studioのドロップダウンを使用してすべてが明らかになった:) –

答えて

0

最終コードが機能しています - ありがとうございます!

Public Class ThisAddIn 
    Public WithEvents myOlItems As Outlook.Items 

    Private Sub ThisAddIn_Startup() Handles Me.Startup 
     MsgBox("Initliasing add-in") 
     AddIn_Init() 
    End Sub 

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 

    End Sub 

    Private Sub AddIn_Init() 
     myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail).Items 

     MsgBox("We are ready!") 
    End Sub 

    Private Sub myOlItems_ItemAdd(Item As Object) Handles myOlItems.ItemAdd 
     MsgBox("You sent an email from " & Item.SenderEmailAddress) 
    End Sub 
End Class 
関連する問題