我们在ThisAddIn_Startup() 方法中使用CustomTaskPaneCollection.Add() 方法把添加CustomTaskPane时,第一个启动的Word窗口将独享这个
CustomTaskPane,其它的都无福消受了。怎么解决这个问题?
办法就是处理Microsoft.Office.Interop.Word.Application对象的NewDocument和DocumentOpen事件,使用CustomTaskPaneCollection.Add() 方
法为每个新建或打开的窗口添加"CustomTaskPane"侧边栏,CustomTaskPane的名字可取当前word的全名(包括路径)并且前面多加几个空格,把名字隐
藏起来,以区别其他打开的文档的CustomTaskPane.
当用户关闭窗口时,我们应该销毁与之关联的CustomTaskPane,如果我们在DocumentBeforeClose事件里简单的销毁这个CustomTaskPane,那么当用户
取消关闭窗口时,就会发现侧边栏已被莫名其妙地关闭了,这显然是不可接受的。对于这个问题,我的解决办法如下:
当文档关闭的时候,可能会出现如下情况
1.文档没被修改就直接退出word,
2.文档有被修改,可选“退出并保存”或“退出并不保存”或“取消”
在DocumentBeforeClose事件中处理上面三种情况就可以了。至于怎么处理,有需要的话联系我。