Ribbon]打开文件时激活指定的选项卡
(2019-02-08 15:13:59)
标签:
vba |
分类: 办公软件使用技巧 |
注:2010以上版本没有测试,office2007版XML代码首句应修改为onLoad="RibbonOnLoaded">
摘自:http://club.excelhome.net/thread-1090486-1-1.html
方法一:
使用IRibbonUI对象的ActivateTab
XML代码:
VBA代码:
Public objRib As IRibbonUI
Sub RibbonOnLoaded(ribbon As IRibbonUI)
Set
objRib = ribbon
objRib.ActivateTab
"MyTab"
' objRib.ActivateTabMso
"TabInsert"
End Sub
RibbonOnLoaded过程是XML代码中customUI元素的 onLoad属性的回调过程,返回一个代表功能区的IRibbonUI对象,该过程在应用程序加载功能区时运行,将返回的IRibbonUI对象赋值给变量objRib就可以在VBA中引用功能区了。
IRibbonUI对象的ActivateTab方法可以激活自定义的选项卡,ActivateTabMso方法可以激活指定的内置选项卡,两者语法相同:
对象表达式.ActivateTab(ControlID As String)
参数ControlID用来指定要激活的选项卡,是一个字符串,必须和XML中自定义选项卡的ID属性一致,ActivateTabMso方法的参数ControlID必须是内置选项卡的标识符。
方法二:
使用sendkeys配合加速键
Public objRib As IRibbonUI
'Callback for customUI.onLoad
Sub RibbonOnLoaded(ribbon As IRibbonUI)
Application.SendKeys
"%Y{RETURN}"
' Application.SendKeys
"%N{RETURN}"
End Sub
按下ALT键查看各个选项卡的加速键,把代码中的N,Y换成其他加速键就会激活对应的选项卡
使用IRibbonUI对象的ActivateTab
XML代码:
VBA代码:
Public objRib As IRibbonUI
Sub RibbonOnLoaded(ribbon As IRibbonUI)
'
End Sub
RibbonOnLoaded过程是XML代码中customUI元素的 onLoad属性的回调过程,返回一个代表功能区的IRibbonUI对象,该过程在应用程序加载功能区时运行,将返回的IRibbonUI对象赋值给变量objRib就可以在VBA中引用功能区了。
IRibbonUI对象的ActivateTab方法可以激活自定义的选项卡,ActivateTabMso方法可以激活指定的内置选项卡,两者语法相同:
对象表达式.ActivateTab(ControlID As String)
参数ControlID用来指定要激活的选项卡,是一个字符串,必须和XML中自定义选项卡的ID属性一致,ActivateTabMso方法的参数ControlID必须是内置选项卡的标识符。
方法二:
使用sendkeys配合加速键
Public objRib As IRibbonUI
'Callback for customUI.onLoad
Sub RibbonOnLoaded(ribbon As IRibbonUI)
'
End Sub
按下ALT键查看各个选项卡的加速键,把代码中的N,Y换成其他加速键就会激活对应的选项卡