保护Excel自定义UI功能区

问题描述 投票:1回答:2

目的是编写一个VBA,以检查自定义功能区按钮标签是否已更改。在Workbook_Open事件发生时,vba将获得自定义功能区特定按钮的标签值,并将其与VBA中的硬编码值进行比较。如果它们不同,则vba将关闭工作簿。

例如,您可以使用此命令获取内置命令的标签值

    MsgBox Application.CommandBars.GetLabelMso("PasteSpecialDialog")

但是如何获取自定义功能区按钮标签的值? GetLabel无法完成这项工作。

谢谢。

excel vba excel-vba
2个回答
0
投票

循环浏览Excel中的每个命令栏。

For Each bar In Application.CommandBars 
if condition = true then
  'Your code here

end if
Next

0
投票

到目前为止,轻松的Ribbon Builder是编辑功能区的最快方法。您可以从easyribbonbuilder.com获得它。使用此软件,我尝试了以下操作,并且有效。

if R_MyButton.label = "Automate" then 
    msgbox "Button label is unchanged"
end if
© www.soinside.com 2019 - 2024. All rights reserved.