VSTO 撤回代码修改的值

不废话,直接代码

private Stack<Action> actionStack = new Stack<Action>();

private void SetCellValues()
{
    var worksheet = Globals.ThisAddIn.Application.ActiveSheet as Excel.Worksheet;

    var range = worksheet.Range["A1"];
    var previousValue = range.Value2;

    // 保存当前状态以便恢复
    actionStack.Push(() =>
    {
        range.Value2 = previousValue;
    });

}

private void UndoLastOperation()
{
    if (actionStack.Count > 0)
    {
        var undoAction = actionStack.Pop();
        undoAction();
    }
}
posted @   E024  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示