2016-07-20 22 views
1

と呼ばれていない、私はこのコードを使用して...VSTOます。Outlook NewInspectorが

Dim inspectors As Outlook.Inspectors = Outlook.Application.Inspectors 
AddHandler inspectors.NewInspector, AddressOf Inspectors_NewInspector 

...ネットmailitemに私のカスタムパネルを追加します。

しかし、私は、Windowsでsnippingツールを使用してスニペットを電子メールで送信すると、新しいメールが作成されても、NewInspectorはイベントと呼ばれません。

なぜNewInspectorが呼び出されないのでしょうか?

おかげコードで

UPDATE:

は、簡単なサンプルコードです。 (などWordやExcel、Snipping Toolをのような)外部プログラムからメールを送信するNewInspectorイベントを呼び出すことはありません...

Imports System.Runtime.InteropServices 
Imports Microsoft.Office.Interop.Outlook 
Imports Microsoft.Office.Tools 
Imports Outlook = Microsoft.Office.Interop.Outlook 

Public Class ThisAddIn  

    Private WithEvents _inspectors As Outlook.Inspectors 

    Private Sub ThisAddIn_Startup() Handles Me.Startup 
     _inspectors = Globals.ThisAddIn.Application.Inspectors 
    End Sub 

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 
    End Sub 

    Private Sub _inspectors_NewInspector(Inspector As Inspector) Handles _inspectors.NewInspector 
     MsgBox("New inspector") 
    End Sub 

End Class 

答えて

1

NewInspector Simple MAPIまたはmailtoリンクを使用して作成されたインスペクタではイベントが発生しません(これは設計によるものです)。 Application.Inspectorsコレクションを定期的にループするタイマーを使用して、コードでまだ処理されていない新しいインスペクタがあるかどうかを確認できます。

+0

ありがとうドミトリー...マイクロソフトでは「ユーザーの操作やプログラムコードの結果として新しいインスペクタウィンドウが開かれるたびに発生します。 ...それは明らかにしません。タイマーの代わりに、私はリボンのロードイベントを使用:)あなたの助けていただきありがとうございます。 – MojoDK

0

あなたはそれを確認するために、グローバル(クラス)レベルで変数検査官を宣言する必要がありますガベージコレクションされていません。

+0

私はそれを試みましたが、それは助けになりませんでした。 – MojoDK

+0

最新のコードを表示してください –

+0

サンプルコードを追加しました。ありがとう。 – MojoDK

関連する問題