onLoad 时将参数传递到功能区
pass parameter into ribbon when onLoad
我想要两个版本的ribbon。一种用于开发人员,一种用于普通用户。对于开发者版本,自定义组将被添加到现有功能区,这可以通过
完成
<ribbon startFromScratch="false">
对于普通用户,自定义组现有功能区将不可用,这可以通过
完成
<ribbon startFromScratch="true">
我可以通过 USysRibbons 中的两条记录实现它 table 并在 OnLoad 表单中加载不同的记录。
我可以只通过将标志传递给 XML 并使用一些逻辑行来设置它来获得一条记录吗?
类似于:
如果开发人员 = true 则
<ribbon startFromScratch="false">
其他
<ribbon startFromScratch="true">
如果
结束
我认为您无法通过使用 USysRibbons 的内置逻辑来实现此目的 table。
除了使用 USysRibbons,您还可以使用另一个 table(或只是重命名)来存储您的功能区 XML。然后编写一个 VBA 程序,从您自己的 table 加载 XML 并调用 Application.LoadCustomUI 方法以将您的 XML 用于功能区。在该过程中,您可以按照自己喜欢的任何方式处理和修改功能区 XML。
AutoExec 宏必须调用该过程以在启动时将功能区放置到位。
在您的情况下,您可以使用如下代码:
yourRibbonXML = ... ' ( load xml from your table into yourRibbonXML )
If Developer = True then
yourRibbonXML = Replace(yourRibbonXML, "startFromScratch=""true""", "startFromScratch=""false""")
End if
Application.LoadCustomUI "yourRibbonName", yourRibbonXML
查看此 link 以获得更详细的解释:
http://www.accessribbon.de/en/?Access_-_Ribbons:Load_Ribbons_Into_The_Database:..._Using_Any_User_Table
我想要两个版本的ribbon。一种用于开发人员,一种用于普通用户。对于开发者版本,自定义组将被添加到现有功能区,这可以通过
完成<ribbon startFromScratch="false">
对于普通用户,自定义组现有功能区将不可用,这可以通过
完成<ribbon startFromScratch="true">
我可以通过 USysRibbons 中的两条记录实现它 table 并在 OnLoad 表单中加载不同的记录。 我可以只通过将标志传递给 XML 并使用一些逻辑行来设置它来获得一条记录吗?
类似于:
如果开发人员 = true 则
<ribbon startFromScratch="false">
其他
<ribbon startFromScratch="true">
如果
结束我认为您无法通过使用 USysRibbons 的内置逻辑来实现此目的 table。 除了使用 USysRibbons,您还可以使用另一个 table(或只是重命名)来存储您的功能区 XML。然后编写一个 VBA 程序,从您自己的 table 加载 XML 并调用 Application.LoadCustomUI 方法以将您的 XML 用于功能区。在该过程中,您可以按照自己喜欢的任何方式处理和修改功能区 XML。 AutoExec 宏必须调用该过程以在启动时将功能区放置到位。
在您的情况下,您可以使用如下代码:
yourRibbonXML = ... ' ( load xml from your table into yourRibbonXML )
If Developer = True then
yourRibbonXML = Replace(yourRibbonXML, "startFromScratch=""true""", "startFromScratch=""false""")
End if
Application.LoadCustomUI "yourRibbonName", yourRibbonXML
查看此 link 以获得更详细的解释: http://www.accessribbon.de/en/?Access_-_Ribbons:Load_Ribbons_Into_The_Database:..._Using_Any_User_Table