在Office.js Excel中更改获取单元格'valueBefore'

问题描述

我正在使用Office.js开发Excel Web加载项。 我需要在单元格更改之前获取更改的单元格值。 对于一个更改的单元格,我可以获取Excel.ChangedEventDetail,然后从其中获取valueBefore:

cellChange = async (event: Excel.TableChangedEventArgs): Promise<any> =>
{
    await Excel.run({delayForCellEdit: true},async context =>
    {
        let details: Excel.ChangedEventDetail = event.details;
        let value = details.valueBefore;
    }
}

但是,这不适用于更改的单元格范围。如果我更改多个单元,则“详细信息”值为“未定义”。有没有一种方法可以在更改范围内的每个像元之前获取像元值?

解决方法

对不起,onChangedEvent设计为返回单个值更改detail。因为payload size limits(因为单元格内容可能很大),所以如果我们支持多个单元格,则用户可能会复制并粘贴较大的范围,这很可能会达到有效载荷大小限制。因此,我们限制在此事件中返回单个单元格的详细信息。

因此,我建议您可以在uservoice上提交您的请求,并批准您的请求。谢谢。

enter image description here

但是,如果您可以共享您的方案,那就太好了,因此,我知道我们是否可以帮助您解除这种方案?谢谢