XML自定义功能区实现的事件必须为(Public)
XML自定义功能区Tab的显示和隐藏
1. visble属性必须关闭
2. getVisible方法回调(getVisible="tabComTools_SetVisible")
3. 实现publicbool tabComTools_SetVisible(Office.IRibbonControl control)
publicbooltabComTools_SetVisible(Office.IRibbonControl control)
{
return _isShow;
}
4. 让控件无效,重新进入回调方法 tabComTools_SetVisible _isShow = false;
ribbon.InvalidateControl("tabComTools");
XML自定义功能区自定义图标
1. 添加loadImage="Ribbon_LoadImage"事件
2. 实现Ribbon_LoadImage事件
publicImage Ribbon_LoadImage(string imageName)
{
Image returnimage = null;
switch (imageName)
{
case"btn_login":
returnimage = Properties.Resources.btn_login;
break;
default:
break;
}
return returnimage;
}
VSTO自定义功能区(RibbonX)开发总结(经典)
http://club.excelhome.net/forum.php?mod=viewthread&tid=898848&ordertype=1&page=12
VSTO--ppt加载addin出错
http://blog.csdn.net/chromium_webkit/article/details/16963959
VSTOOffice二次开发RibbonX代码结构
https://www.cnblogs.com/SanMaoSpace/archive/2013/03/01/2939459.html
将用户界面解决方案面向 2007 版本和 2010 版本的 Microsoft Office
https://msdn.microsoft.com/zh-cn/library/office/ee704588(v=office.14).aspx
查看功能区快捷键
按ALT键进入导航模式,就可查看功能区快捷键
SendKeys.Send 方法(针对2007版本)
https://msdn.microsoft.com/zh-cn/library/system.windows.forms.sendkeys.send(v=vs.80).aspx
VSTO activate ribbon tab
int appVersion = Convert.ToInt32(Globals.ThisAddIn.Application.Version.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries)[0]);
if (appVersion >= 14 )
{
ThisRibbonCollection ribb = Globals.Ribbons;
ribb.[Your Ribbon].ApplicationGroup.RibbonUI.ActivateTab("tab");
}
else if(appVersion == 12) // Specific to Office 2007 only.
{
SendKeys.Send("%TAB%"); // use sendwait if you running it in thread.
}