あなたは、Visual Studio 2010を使用していると仮定すると、最も可能性の高いスタートを私の右のドキュメントやサンプルをアドバイスしてください-に。 VSTOとVisual Studioの詳細については、hereを参照してください。
これを実行したら、アドインに「メインエントリポイント」を含むThisAddIn.csというソースファイルが作成されます。そこから、Outlookが特定のイベントが発生したときに発生するイベントにフックできます。あなたは、ほとんどの場合、次のイベントに興味があるでしょう:
- BeforeFolderSwitch
- FolderSwitch
あなたのコードは次のようになります:あなたのコードは、それらの中に配置する必要があります
private void ThisAddIn_Startup(object sender, EventArgs e)
{
var explorer = this.Application.ActiveExplorer();
explorer.BeforeFolderSwitch += new ExplorerEvents_10_BeforeFolderSwitchEventHandler(explorer_BeforeFolderSwitch);
explorer.FolderSwitch += new ExplorerEvents_10_FolderSwitchEventHandler(explorer_FolderSwitch);
}
/// <summary>
/// Handler for Outlook's "BeforeFolderSwitch" event. This event fires before the explorer goes to
/// a new folder, either as a result of user action or through program code.
/// </summary>
/// <param name="NewlySelectedFolderAsObject">
/// The new folder to which navigation is taking place. If, for example, the user moves from "Inbox"
/// to "MyMailFolder", the new current folder is a reference to the "MyMailFolder" folder.
/// </param>
/// <param name="Cancel">
/// A Boolean describing whether or not the operation should be canceled.
/// </param>
void explorer_BeforeFolderSwitch(object NewlySelectedFolderAsObject, ref bool Cancel)
{
if (NewlySelectedFolderAsObject == null)
return;
var newlySelectedFolderAsMapiFolder = NewlySelectedFolderAsObject as MAPIFolder;
}
void explorer_FolderSwitch()
{
}
をイベントハンドラを使用して作業を実行します。