gpt4 book ai didi

c# - 一段时间后 ContextMenu Excel 365 操作丢失 c#

转载 作者:行者123 更新时间:2023-11-30 18:14:37 24 4
gpt4 key购买 nike

前段时间我在用 C# 编写的 excel 功能区插件中创建了一个上下文菜单 (CommandBarButton)。我注意到由于某种原因,在 excel 中工作了一段时间后,按钮背后的功能丢失了。在插件初始化后,按钮被添加到上下文菜单中,它就像一个魅力一样工作,但是在 Excel 工作表中忙碌之后,当我点击它时,事件背后的功能不再被调用。

我尝试了很多不同的方法,例如在我的插件中的每个操作后删除和添加事件,但问题仍然存在。

编辑:我发现功能区中复制工作表的按钮(至少是其中一种情况)导致事件处理程序无法运行。我使用 Excel.Worksheet.Copy() 复制我的工作表,同时激活一个过滤器使事件处理程序无法运行。

也许由于某种原因事件监听器被某个进程删除了?

        Microsoft.Office.Core.CommandBarButton ContextMenuCompanyButton;
ContextMenuCompanyButton = (Microsoft.Office.Core.CommandBarButton)Globals.ThisAddIn.Application.CommandBars["Cell"].Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton, Type.Missing, Type.Missing, 1, false);
ContextMenuCompanyButton.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonCaption;
ContextMenuCompanyButton.Caption = "Companies";
ContextMenuCompanyButton.Tag = "Companies";
ContextMenuCompanyButton.Visible = true;
ContextMenuCompanyButton.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(CommandBarCompanyButton_Click);

有人知道这个问题吗,我不知道去哪里找。也许有一些内部进程清除了这些事件?

最佳答案

我终于修好了!

我在问题中发布的第一行代码:

Microsoft.Office.Core.CommandBarButton ContextMenuCompanyButton;

我作为类变量移动到类的头部。

关于c# - 一段时间后 ContextMenu Excel 365 操作丢失 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49942042/

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