Tag: excel 2013

Excel中的CustomTaskPane不会出现在新工作簿中

我在Excel 2013中添加了一个CustomTaskPane,可以让用户快速搜索照片。 如果用户只打开/创建一个工作簿,它的工作正常。 问题是,如果他们打开另一个工作簿或创建一个新工作簿,任务窗格不会出现在出现的新窗口中。 它只是放在原来的窗口。 我知道这种行为是由于我只是在打开Excel时初始化面板而引起的。 我向ActiveWindow事件添加了一个事件处理程序,以便在打开另一个工作簿时初始化一个新面板。 问题是我无法弄清楚如何判断CustomTaskPane是否已经存在于窗口中。 如果是,则简单地创建另一个CustomTaskPane,因此在该窗口中现在有两个。 我编写了以下代码来处理原始文件并创建一个新文件,但它引入了一些滞后(1-5秒),每次更改工作簿窗口时都会引起用户疯狂。 有没有办法查看窗口中是否已存在CustomTaskPane以避免处置和重新创建新的以避免堆叠重复的任务窗格? Microsoft.Office.Tools.CustomTaskPane PartPhotoTaskPane; Globals.ThisAddIn.Application.WindowActivate += Application_WindowActivate; void Application_WindowActivate(Excel.Workbook Wb, Excel.Window Wn) { if (PartPhotoTaskPane != null) { PartPhotoTaskPane.Dispose(); InitalizePartPhotoViewerTaskPane(EPPF); } else { InitalizePartPhotoViewerTaskPane(EPPF); } } /// /// Start up the part photo viewer task pane /// private void InitalizePartPhotoViewerTaskPane(ExcelPartPhotoFunctions _EPPF) { //intialize the part search […]