Office 2007 Ribbon开发
首先,下载和安装VSTO,这是VS2005开发Office Add-In的扩展。
安装后打开VS2005创建Office Add-In 项目,这里我选择一个Word的Add-in:
然后为这个Add-In项目添加一个Ribbon:
VS中生成两个文件Ribbon1.cs和Ribbon1.xml,xml文件是对Ribbon描述:

















这个文件产生的效果是这样的:
将Ribbon1.cs文件中的这段代码取消注释:
















按F5即可打开Word2007并运行这个AddIn。再看xml文件就明白了,一个Tab下面一个Group,Group中一个toggle button,当然也可以存在多个Tab,Tab下也可以有多个Group,一个Group下也可以存在多个控件,只要在这个xml文件中进行描述就可以了。点击这个按钮会弹出对话框,这个动作是由回调函数OnToggleButton1完成的,相当于Click事件,在Ribbon1.cs文件中可以找到这个函数:









另外还有很多其他的控件:


















































































这里可以使用很多的回调函数,比如Combox下的GetLable,GetScreentip,GetPressed,可以让我们在程序中去定制显示内容.
Ribbon开发的相关资料可以从这里查找,微软同样也给出了部分代码实例。