Ms access 在功能区选项卡上没有可见按钮时隐藏该选项卡
我正在开发一个多用户应用程序,以access作为前端,使用自定义功能区检索功能。我是一名中级VBA开发人员,但对XML功能区几乎没有经验 场景:我有一个表,将用户与表单关联以定义权限,当我的用户登录时,我运行该表并使用当前用户的权限编写一个数组。“我的功能区”的所有按钮都具有GetVisible=“GetVisibleCallback”,因此,当功能区失效时,回调将检查数组以隐藏/取消隐藏按钮,代码如下:Ms access 在功能区选项卡上没有可见按钮时隐藏该选项卡,ms-access,ribbon,Ms Access,Ribbon,我正在开发一个多用户应用程序,以access作为前端,使用自定义功能区检索功能。我是一名中级VBA开发人员,但对XML功能区几乎没有经验 场景:我有一个表,将用户与表单关联以定义权限,当我的用户登录时,我运行该表并使用当前用户的权限编写一个数组。“我的功能区”的所有按钮都具有GetVisible=“GetVisibleCallback”,因此,当功能区失效时,回调将检查数组以隐藏/取消隐藏按钮,代码如下: Public Sub GetVisibleCallback(control As IRib
Public Sub GetVisibleCallback(control As IRibbonControl, ByRef visible As Variant)
If IsEmpty(arrayPermissoes) Then
visible = False
Else
If UBound(Filter(arrayPermissoes, control.Tag)) > -1 Then
visible = True
Else
visible = False
End If
End If
End Sub
这是完美的工作方式,但问题是:我在自定义功能区上有多个选项卡,一些用户对已确定选项卡上的任何表单都没有权限,例如:“注册选项卡”,当功能区失效时,用户可以看到该选项卡,但其中没有按钮。我想实现的是:如果在一个确定的选项卡上没有可见的按钮,那么也让它不可见,我如何实现这一点
对不起,英语不好!我正在努力 选项卡
控件提供getVisible
回调。因此,您可以检查是否允许用户查看它。您也可以考虑调用<代码>无效> <代码>方法>代码> IRBBIUI < /代码>接口,该接口允许对色带用户界面的所有控件的缓存值无效。
可以使用回调过程自定义功能区UI。对于实现的每个回调,都会缓存响应。例如,如果解决方案编写器为按钮执行getImage
回调过程,则调用该函数一次,加载图像,然后如果需要更新图像,则使用缓存的图像,而不是调用该过程。此过程保持不变,直到代码通过使用Invalidate
方法发出缓存值无效的信号,此时再次调用回调过程并缓存返回响应
<customUI … OnLoad="MyAddinInitialize" …>
在以下系列文章中阅读有关Fluent UI(也称为Ribbon UI)的更多信息:
Dim MyRibbon As IRibbonUI
Sub MyAddInInitialize(Ribbon As IRibbonUI)
Set MyRibbon = Ribbon
End Sub
Sub myFunction()
MyRibbon.Invalidate() ' Invalidates the caches of all of this add-in's controls
End Sub