Vba 此加载功能区选项卡代码出错
我正在使用此代码,但excel尝试加载时收到错误,在excel 365上运行正常,但在excel 2007上抛出错误:Vba 此加载功能区选项卡代码出错,vba,excel,Vba,Excel,我正在使用此代码,但excel尝试加载时收到错误,在excel 365上运行正常,但在excel 2007上抛出错误: <customUI onLoad="RibbonOnLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui"> Public Rib As IRibbonUI Sub RibbonOnLoad(ribbon As IRibbonUI) Set Rib = ribbon
<customUI onLoad="RibbonOnLoad"
xmlns="http://schemas.microsoft.com/office/2006/01/customui">
Public Rib As IRibbonUI
Sub RibbonOnLoad(ribbon As IRibbonUI)
Set Rib = ribbon
End Sub
Sub startHereConfigure()
Rib.ActivateTab "Configure"
End Sub
公共肋骨
子RibbonLoad(RibbonUI功能区)
设置肋骨=缎带
端接头
子系统配置()
Rib.ActivateTab“配置”
端接头
在这里称呼它:
Private Sub Workbook_Open()
startHereConfigure '<<<<-getting object doesn't support this property or method
end sub
Private子工作簿\u Open()
开始配置“您可能可以使用发送可以激活功能区选项卡的Alt组合键,但是如果代码在Excel 14.0或更高版本(2010+)中运行,那么我会保留ActivateTab
调用,这会更加健壮
由于出现错误438,我认为成员调用是后期绑定的(在运行时解析),否则代码甚至无法编译,更不用说运行了
当代码在运行时解析时,您可以使用条件逻辑将其设置为条件-验证应用程序。版本
,并相应地进行分支:
If Application.Version >= 14 Then
'Excel 2010+
Rib.ActivateTab "Configure"
''or explicitly late-bound:
'Dim ui As Object
'Set ui = Rib
'ui.ActivateTab
Else
Application.SendKeys "%C" ' assuming "Alt+C" activates the "Configure" tab; tweak accordingly.
End If
我认为在Excel 2007中不可用ActivateTab
,我也尝试过ActivateTabMso,但出现了相同的错误。我需要它的工作都为2007年n办公室365这两种方法是不可用的,在2007年。你将在2010年及以后拥有它们。AFAIK?那是什么?你是网络新手吗:-)据我所知。无论如何,你可以删除我评论中的AFAIKActivateTab
和ActivateTabMso
在2010年及更高版本中可用。您可能不知道如何重新启用numlock,因为它在sendkeys之后将关闭。似乎如果我不为excel 2007做任何事情,它将保留在功能区中,因为我将它插入了“主页”选项卡之前。我很困惑。您是否验证了自定义选项卡的热键,并相应地调整了SendKeys
命令?是的,我将keytip指定给功能区选项卡,然后使用sendkey调用它,但我认为如果我没有对excel 2007执行任何操作,它仍然会关注我的功能区,因为我将功能区插入“主页”的前面因此,这是默认的焦点。