gpt4 book ai didi

Excel.Application.SelectionChange 只触发一次

转载 作者:行者123 更新时间:2023-12-04 19:52:48 26 4
gpt4 key购买 nike

我只收到第一个事件通知,之后什么也没有发生。有什么想法吗?
UPD:我发现了一件奇怪的事情。我的事件处理程序代码如下所示:

                    var cell = range.Cells[1, 1];
var rangeName = cell.Address[false, false, XlReferenceStyle.xlA1, Type.Missing, Type.Missing];

我以这种方式更改了它,添加了显式类型转换:

                    var cell = (Range)range.Cells[1, 1];
var rangeName = cell.Address[false, false, XlReferenceStyle.xlA1, Type.Missing, Type.Missing];

现在我的事件处理程序被调用了几次,然后才停止调用。

最佳答案

由于使用 COM Interop 跟踪事件处理程序的方式,垃圾收集器可以清理阻止您接收事件的 RCW。

确保您保留对具有事件处理程序的对象的引用,例如而不是编写:

Application.CurrentWorkbook.SelectionChanged += ....

class ThisAddin
{
WorkBook _workbook;

void AddinLoaded()
{
_workbook.SelectionChanged += ....
}
}

关于Excel.Application.SelectionChange 只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6092618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com