Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
隐藏/取消隐藏Excel选项卡功能区_Excel_Vba_Hide_Show_Ribbon - Fatal编程技术网

隐藏/取消隐藏Excel选项卡功能区

隐藏/取消隐藏Excel选项卡功能区,excel,vba,hide,show,ribbon,Excel,Vba,Hide,Show,Ribbon,我真的需要帮助,对不起,如果这个问题已经被问过了 我的计算机上安装了一个Excel加载项,它创建了一个新的功能区选项卡,名为“Forecast”。此选项卡仅对特定文件有用,对于其他Excel,我希望将其隐藏 我一直在思考这个问题,我得出的结论是,默认情况下,选项卡必须隐藏,并在打开文件时由VBA代码显示,在beforeClose事件时隐藏,但我真的不知道如何做到这一点 如果有人有更好的想法,愿意帮助我,我非常感谢 谢谢没有通过对象模型提供的属性。Ribbon UI是一个静态的东西,要获得任何动态

我真的需要帮助,对不起,如果这个问题已经被问过了

我的计算机上安装了一个Excel加载项,它创建了一个新的功能区选项卡,名为“Forecast”。此选项卡仅对特定文件有用,对于其他Excel,我希望将其隐藏

我一直在思考这个问题,我得出的结论是,默认情况下,选项卡必须隐藏,并在打开文件时由VBA代码显示,在beforeClose事件时隐藏,但我真的不知道如何做到这一点

如果有人有更好的想法,愿意帮助我,我非常感谢


谢谢

没有通过对象模型提供的属性。Ribbon UI是一个静态的东西,要获得任何动态性,需要使用XML标记中定义的回调

要完成任务,您需要为选项卡控件使用getVisible属性。打开/关闭文档时,您可以查看是否应显示该选项卡。如果需要,可以调用接口的或方法来强制应用程序重新调用回调。因此,您可以动态显示或隐藏选项卡

在MSDN中的以下系列文章中阅读有关Fluent UI(也称为Ribbon UI)的更多信息:


这样做是可能的,但最好只将功能区选项卡放入文件本身,而不是加载项。这可能会更简单。Ribbon选项卡是一个外接程序,因为我们希望保护选项卡上的按钮所运行的代码。我认为这将是一个简单的命令,比如Application.Ribbon(“Forecast”).Visible=False,但我找不到解决方案。您能帮助我吗?附加模块对最终用户的可访问性不会降低,除非您使用其他语言分发它们。如果用户愿意,XLAM仍然是用户可以查看和交互的对象。功能区不能仅由VBA操纵。您需要修改功能区的XML。这相当复杂,如果没有看到您现有的XML和VBA回调,我就无法提供帮助。@DavidZemens,我的外接程序是作为安装程序分发的,代码是用C#编写的。用户无法访问该代码。