快乐的生活……

导航

公告

Office Com AddIn 开发心得

       最近开发了一个Word Com AddIn,发现Office还是有很多资源是我们没有充分利用的。先列出我参考的文章:
http://www.microsoft.com/china/msdn/library/office/office/listbuttonfaces.mspx。介绍一个完整的建立AddIn的过程,并建立一个菜单枚举出office系统所有可用的图标。
http://www.microsoft.com/china/msdn/archives/library/dnofftalk/html/office05022002.asp。介绍操作Office工具栏。
http://www.microsoft.com/china/msdn/library/office/office/Office2003DeveloperToolProg.mspx。Office 2003 开发人员工具和程序概述。
     下面是我在开发过程中注意到的一些问题:
1·不管是在文件夹中双击打开,还是在Word的菜单打开多个.doc文件,系统中使用的都是一个进程。
2·一个word进程对应一个addin实例(多个文档可以共用一个addin实例)。
3·可以在程序中使用Word.Application wordApp = new Word.ApplicationClass();(wordApp.Visible = true;使得word进程在界面可见)来产生多个word进程,从而可以获得多个addin实例。
4·可以在Word.Application 上登记文档对象的open,beforeclose,beforesave事件,来处理自己的业务。这些事件中都能获得文档对象的实例

5. Word.Application 上登记文档对象的beforeclose,beforesave事件中的取消事件发生的参数Cancel只在office2003中有效.
6. Visual studio自带生成的安装包一般不会将强名称的程序集(例如Microsoft.Office.Interop.Word)打包,这样可能有的客户(具体计算机的差异)无法引用到该程序集,所以word表现出的行为就是不加载该插件.为了保证所有的客户机都能使用建议把它打包进去.
7.由于word打开的机制是打开文档的时候看是否已经存在word进程,如果存在的话,就会附加到这个进程上。所以会导致后来打开word的时候有可能把以前设置好的word addin的变量的值更改的情况。(深刻教训)

posted on 2005-03-28 11:30 小诈 阅读(...) 评论(...) 编辑 收藏