我已经为使用Visual Studio 2010和.NET 3.5的Word 2007开发了应用程序级加载项。部分原理是使用如果没有加载文档,则禁用自己的Word 2007加载项
Globals.ThisAddIn.Application.Selection.Range
来插入文本。
但是,当没有文档加载时,此代码将失败。我可以捕捉到异常情况或以编程方式检测文档是否当前打开,但我认为必须有一种更简单的方法...
当Word 2007打开但没有加载文档时,功能区上的大多数按钮都是禁用(即灰显)。
任何想法如何实现? 插件是否会挂钩到事件中并相应地禁用它们的按钮? 如果是这样,这将是
DocumentBeforeClose
事件,可这是有风险的,如果字不知何故没有打开的文档? (也就是说,没有文件加载,但事件尚未触发。)
在此先感谢!
UPDATE: OK,这似乎是利用了XML的
getEnabled="MyMethod"
属性的可能是前进的道路,但这似乎只为功能区上的各个控件,而不是整个工作丝带本身。
嘿,谢谢你的回复。你提供的IF语句当然可以工作,但如果我要在我的功能区上说20个按钮,我必须用IF来启动每个按钮的Click Event处理程序。但是,如果您启动Word本身,然后关闭所有打开的文档,除“开发者”和我自己的文档之外的所有功能区将自动变为灰色。我希望能够模仿这一点...我的功能区或者检测到没有更多的公开文档并禁用自身,或者对告诉它禁用自身的事件作出反应..? TA! – Bridgey 2011-04-15 07:35:04