目前我正在通过 Worksheet.Change 监听 Excel 中的单元格更改事件。 但是,这不会对使用公式重新评估的单元格值使用react。 微软声明 this site工作表类中有一个计算事件,但我找不到这个事件。只有 Calculate() 方法。
对于如何监听重新评估的单元格,您有什么建议吗?
最佳答案
我设法找到了一种对单元格重新计算使用react的方法:
第一个必须在 Workbook.SheetCalculate 事件中注册,因为在工作表级别没有这样的事件。
此事件返回已重新计算单元格的工作表。重要说明:它不返回重新计算的单元格,而是返回所有单元格。
从现在开始,我遍历这些单元格并寻找公式及其值。
注册获取事件:
workbook.SheetCalculate += new Microsoft.Office.Interop.Excel.WorkbookEvents_SheetCalculateEventHandler(CalculateEvent);
计算事件如下所示:
private void CalculateEvent(Object Sh)
{
if (!(Sh is Workbook))
return;
Worksheet s = Sh as Worksheet;
Range range = s.UsedRange;
foreach(Range cell in range.Cells)
{
string formula = Convert.ToString(cell.Formula);
if(formula.IndexOf('=') >= 0)
//Do something
}
}
希望我能帮到别人。
关于c# - 重新计算单元格值的 Excel C# 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283351/