2016-09-24 54 views
1

複数のExcel 2016文書で1つのCustomTaskPaneに問題があります。私はWinFormユーザーコントロールで作業ペインを作成して表示しますExcel 2016カスタム作業ウィンドウ枠

Dim cll As cMyControl = New cMyControl 

Private Sub ThisAddIn_Startup() Handles Me.Startup 
    CustomTaskPanes.Add(cll, "Panel") 
End Sub 

このパネルはすべてのワークブックで見ることができます。

Private Sub Application_WorkbookActivate(Wb As Microsoft.Office.Interop.Excel.Workbook) Handles Application.WorkbookActivate 
    CustomTaskPanes.RemoveAt(0) 
    CustomTaskPanes.Add(cll, "Panel") 
End Sub 

問題はパネルが作成されていても空であることです。 CustomTaskPanels間でユーザーコントロールを転送する方法はありますか?または作成したパネルを別のExcelウィンドウに貼り付けるには?私は、ワークブックのアクティブ化ごとに新しいcllオブジェクトを作成したくないからです。

答えて

0

Excel 2016はSDIであり、各タスクペインの参照を保存する必要があります。 Excelウィンドウを識別するには、Globals.ThisAddIn.Application.Hwndを使用する必要があります。

は、ソリューションは、ここを参照してください:https://stackoverflow.com/a/24732000/3205529

+0

私が正しく理解していれば、これは(独自の新しいユーザーコントロールで)各ウィンドウのためのユニークなカスタム作業ウィンドウを作成します。しかし、私は現在のユーザーコントロールで新しい作業ウィンドウのようなものが必要です(ユーザーコントロール内のすべてのユーザー変更は維持されます)。 – milos

関連する問題