我可以为特定用户隐藏function区上的图标吗?

我想在function区选项卡上为特定用户显示一个图标。

喜欢…

If username ="Mike" hide icon1 else show icon1 

有没有什么办法来获取在C#中使用Excel工作簿的用户名?

我可以设置这个图标的密码,但如果我可以获得用户名,这将会更容易。

您可以从WindowsIdentity获取用户名:

 if (System.Security.Principal.WindowsIdentity.GetCurrent().Name.Equals("username")) { button1.Visible = true; } else { button1.Visible = false; } 

Excel对象模型中的Application类提供了UserName属性。 而且,您无法直接为Ribbon UI控件设置Visible属性。 您需要使用callback(getVisible)并调用IRibbonUI.Invalidete或InvalidateControl方法来调用您的callback。 您可以在MSDN的以下系列文章中阅读有关function区UI的更多信息:

  • 为开发人员定制2007 Office Fluentfunction区(第1部分,共3部分)
  • 为开发人员定制2007 Office Fluentfunction区(2/3)
  • 为开发人员定制2007 Office Fluentfunction区(3部分)