3

Outlook 2010 用のアドインを作成したいと考えています。アイデアは、ユーザーがフォルダー内のメール アイテムを 1 つ選択し、リボンのボタンを押してアドインを開始することです。アドインは、選択したアイテムから情報を取得し、処理して結果を表示します。選択したアイテムのインスペクターを取得しようとすると、問題が発生します。私は試した:

Outlook.Inspector Point = this.Application.ActiveInspector().CurrentItem as Outlook.Inspector;
Outlook.MailItem mailItem = Point.CurrentItem as Outlook.MailItem;

もちろん、これは現在のアイテムが実際にメールアイテムであるかどうかをチェックしませんが、それは後で説明します。私の問題は、プログラムを実行しようとすると NullReferenceException が発生することです。私がウェブで見つけた唯一の実例は、イベント処理でした。しかし、ボタンを押してアドインを開始したい..

4ではなく.NET 3.5でこれを作成しようとしています

4

3 に答える 3

5

これActiveInspector()は、ユーザーがウィンドウ内のメール アイテムをダブルクリックしたときに開くExplorerウィンドウです。ユーザーが閲覧MailItemsウィンドウで表示しているだけの場合、アクティブなインスペクター ウィンドウは表示されません (したがって、NullReferenceException )。

Explorer.Selectionおそらく、現在選択されている にアクセスするために を探しているでしょうMailItems

 Outlook.Selection selection = this.Application.ActiveExplorer().Selection;
于 2012-05-30T14:12:50.003 に答える
3

Globals.ThisAddIn.Applicationを使用して、Applicationオブジェクトを取得します。これはおそらくnull参照であり、リボンクラス内の「this」にApplicationオブジェクトはありません。

于 2012-09-01T16:20:20.973 に答える