我想知道是否可以检测用户何时单击了Excel中的页眉/页脚按钮,这样我就可以在我的加载项选项卡上显示一些自定义页眉/页脚相关的功能区控件,并在用户不显示时隐藏它们在页眉/页脚编辑模式中。
是否有可能以某种方式劫持此按钮?我见过应用程序劫持了Excel Save。我正在寻找与页眉/页脚按钮类似的行为。
我正在使用C#,Visual Studio 2012和Excel 2010.我使用Ribbon XML方法创建了自定义功能区。
答案 0 :(得分:5)
我发现的一种方法是使用功能区XML中的<commands>
部分(我不知道它存在。)显然,这种机制允许您重新使用Excel固有的操作但要注意并非所有控件都支持重新使用onAction回调)
<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<commands>
<command idMso="HeaderFooterInsert" onAction="testHeaderFooter"/>
</commands>
<ribbon>
<tabs>...
以及相关的事件处理程序:
public void testHeaderFooter(Office.IRibbonControl control, bool cancelDefault)
{
MessageBox.Show("Testing.");
cancelDefault = false;
}
此链接非常有用: