我正在编写一个Excel插件,希望我的功能区按钮被禁用时,用户被单击到(编辑)一个单元格。我看到在Excel和TFS Excel插件中的其他功能区按钮会发生这种情况,所以我希望有其他开发人员可以完成它的方法。是否有某种方法可以确定/处理编辑何时开始/结束(例如,通过双击/按Enter/按Escape)?
我在想,我可以在这些事件期间手动启用/禁用按钮。我想知道这里描述的技术http://www.codeproject.com/KB/office/Excel_Edit_Mode.aspx是否是检测当前单元格是否正在被编辑的最佳方法?
任何指导都将不胜感激。
谢谢
发布于 2011-04-08 02:02:37
很抱歉回答得太晚了。我正好碰到你的问题。
我想在我的项目中使用相同的行为,并且我成功地集成了这个解决方案:
http://www.codeproject.com/KB/office/ExcelInEditMode.aspx
它是无痛的,并且工作得很好。我只是在我的项目中添加了这个类,创建了它的一个实例,并将事件附加到EditModeOff和EditModeOn事件。
希望这对(你或其他人)有帮助
发布于 2011-02-24 07:01:36
以下是我为实现与您相同的目标所做的工作。
我在定时器的事件处理程序中创建了一个设置为500ms的定时器,并执行以下检查
if (Globals.ThisAddIn.Application.Ready)
{
SetRibbonState()
}
其中SetRibbonState类似于:
private void SetRibbonState()
{
if (IsEditing())
{
buttonRefresh.Enabled = false;
}
else
{
buttonRefresh.Enabled = true;
}
}
public static bool IsEditing()
{
return !Globals.ThisAddIn.Application.CommandBars.GetEnabledMso(FileNewDefaultIdMso);
}
https://stackoverflow.com/questions/4400825
复制相似问题