Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 此加载功能区选项卡代码出错_Vba_Excel - Fatal编程技术网

Vba 此加载功能区选项卡代码出错

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

我正在使用此代码,但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

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?那是什么?你是网络新手吗:-)据我所知。无论如何,你可以删除我评论中的AFAIK
ActivateTab
ActivateTabMso
在2010年及更高版本中可用。您可能不知道如何重新启用numlock,因为它在sendkeys之后将关闭。似乎如果我不为excel 2007做任何事情,它将保留在功能区中,因为我将它插入了“主页”选项卡之前。我很困惑。您是否验证了自定义选项卡的热键,并相应地调整了
SendKeys
命令?是的,我将keytip指定给功能区选项卡,然后使用sendkey调用它,但我认为如果我没有对excel 2007执行任何操作,它仍然会关注我的功能区,因为我将功能区插入“主页”的前面因此,这是默认的焦点。