最近、追加のリボン、コンテキストメニューなどのribbon.xmlファイルを含むOutlookアドインを作成しました。また、ウィンドウの右側にドッキングされた追加のパネルを追加しました。
今、Visio用のアドインを作成する方法についていくつかの調査を開始しました。Ribbon.xmlは実質的に同じであるため、まったく問題ありません。ただし、Visioドキュメントを開いたときにカスタムパネルを追加する方法が見つからないようです。
これまでのところ、Visioでこれを使用して、ドキュメントが開かれた/作成された/変更されたかどうかを確認しています。
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
MessageBox.Show("Visio Add-In V1");
Globals.ThisAddIn.Application.DocumentChanged += new Visio.EApplication_DocumentChangedEventHandler(docChanged);
Globals.ThisAddIn.Application.DocumentOpened += new Visio.EApplication_DocumentOpenedEventHandler(docChanged);
Globals.ThisAddIn.Application.DocumentCreated += new Visio.EApplication_DocumentCreatedEventHandler(docChanged);
}
private void docChanged(Visio.Document doc)
{
MessageBox.Show("Document loaded");
}
Outlookでは、カスタムパネル(簡略化)を追加するためにこれを行います。
MyPanel ctrl = new MyPanel();
Microsoft.Office.Tools.CustomTaskPane ctp = Globals.ThisAddIn.CustomTaskPanes.Add(ctrl, title);
ctp.Visible = true;
ctp.Width = 300;
ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight;
では、Visio 2013アドインでこれを行うにはどうすればよいですか?
編集:
残念ながら、これは不可能だと思います:http: //msdn.microsoft.com/en-us/library/vstudio/bf08984t.aspx
Edit2:
次の答えが機能するはずです。タスクペインはVisioVSTOで使用できますか?
しかし、メインウィンドウにドッキングされたパネルを表示する方法が見つからないようです。これが私が試したことです:
Globals.ThisAddIn.Application.Windows.Add("testpanel", VisWindowStates.visWSDockedLeft, VisWinTypes.visStencilAddon, null, null, null, 300);
これにより、新しい図面であるかのようにウィンドウが追加されます...
Edit3:
Visioは、無効なウィンドウタイプがあることを示すCOM例外をスローします。
Application.Windows.Add("testpanel", VisWindowStates.visWSDockedRight, VisWinTypes.visAnchorBarAddon, null, null, 300);