Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
下载信息 [文件大小: 下载次数: ] | |
![]() |
1、没有必要,因为您现在是以设计者身份操作,一旦非设计者进入,您不给他留切换到系统菜单的入口,他自己用热键也切换不了;
2、判断自定义菜单的某个被隐藏的功能组或所属菜单按钮是否存在来判断是否是自定义菜单试试
3、也可以变通实现,在打开自定义菜单的代码后面向某个全局变量输入一个值,在打开系统菜单的代码后面,向这个全局变量输入另一个值,您只需要判断这个值即可。
方法2:
我在MainTableChanged事件中设置如下代码:
Select Case MainTable.Name
Case "表A"
If RibbonTabs("自定义").Visible = True Then
XXX
YYY
ZZZ
end if
Case "表B"
If RibbonTabs("自定义").Visible = True Then
AAA
BBB
CCC
end if
end select
切换成系统菜单时,再切换主表,会有出错提示。“菜单中不存在名为"自定义"的功能区。”
是不是代码设置错了?
这样试试:
……
If RibbonTabs("自定义功能区").Contains("自定义功能组") = True Then
……
这个自定义功能组必须是系统菜单中没有的,只有自定义菜单中才存在的
已经上传附件
公开的方法应该办不到吧。
偏门的方法我不会。
我在五楼的代码组合错了,仔细消化一下帮助结果应该这样,您的代码也没必要那么复杂,写代码要学会精简,试试这个代码,这也许是一个最简单的方法:
If RibbonTabs.Contains(MainTable.name & "功能区") = True
RibbonTabs("表A功能区").Visible = (MainTable.name = "表A")
RibbonTabs("表B功能区").Visible = (MainTable.name = "表B")
RibbonTabs("表C功能区").Visible = (MainTable.name = "表C")
RibbonTabs("公共功能区").Visible = True
End If
下载信息 [文件大小: 下载次数: ] | |
![]() |
不过,贺老师还需要将这一节帮助细化,否则,很难懂,需要给出实例:
项目集合
功能区、功能组、工具栏、菜单按钮、组合按钮、组合框、程序菜单、配置栏等都是容器,这些组件可容纳其他菜单组件。
大多数容器类的菜单组件都有一个名为Items属性,表示其包含的菜单组件项目集合。
当然也有例外,例如程序菜单(ApplicationMenu),它有三个项目集合,所以集合的名称不是Items,请参考前面的介绍。
利用项目集合,不仅可以获得指定名称的菜单组件,我们还可以向其中增加、插入和删除菜单组件。
项目集合的方法:
方法 | 说明 |
Contains | 判断是否包括指定名称的组件。 语法: Contains(Name) Name: 组件名称 |
Clear | 清除所有组件 |
Add | 增加一个组件,语法: Add(Item) Item: 要增加的项目 |
Insert | 在指定位置插入一个组件。 语法: Insert(Index, Item) Index: 整数型,插入位置 Item: 要插入的组件。 |
Remove | 删除指定的组件,或者删除指定名称的组件。 语法: Remove(Name) Remove(Item) Name: 组件名称 Item:组件 |
利用项目集合,可以动态生成菜单,后面的实战演练会介绍。