5

最近、追加のリボン、コンテキストメニューなどの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);
4

1 に答える 1

2

作業ウィンドウではなく、Visioでアンカーバーを使用できます。VisioSDKをダウンロードしてコードサンプルライブラリを確認すると、[ユーザーインターフェイス]の下に[アンカーバーの使用法]が表示されます。

完全を期すために、このMSDNの記事Windows.Addメソッド(Visio)を確認することをお勧めします-http ://msdn.microsoft.com/en-us/library/office/ff767674.aspx

于 2013-03-25T22:19:02.730 に答える