gpt4 book ai didi

.NET VSTO - Excel 功能区选项卡标签为空白,但仅在 Excel 的第一个实例上

转载 作者:行者123 更新时间:2023-12-02 08:27:06 25 4
gpt4 key购买 nike

我是一名经验丰富的 VSTO 开发人员,但我的一个加载项遇到了新问题。该加载项安装并运行得很好,但无论出于何种原因,当打开第一个 Excel 实例时(例如,当前没有其他工作簿打开),加载项的功能区选项卡标签为空白(见下文)。

<小时/>

enter image description here

<小时/>

需要明确的是,此问题仅出现在第一个 Excel 实例上。如果我使用 Ctrl+NFile-->New 打开另一个工作簿,标签在新工作簿上显示正常(尽管第一个工作簿仍会显示空白标签) 。此外,在有人询问之前,功能区选项卡类型已设置为自定义,而不是Office

更糟糕的是,我无法在我的计算机上重现该问题,只能在客户的计算机上重现。以前有人见过或听说过这个问题吗?如果是这样,链接将会有很大帮助。

<小时/>

更新

所以我解决了这个问题,但我仍然不能 100% 确定如何解决。色带的加载事件中出现了一个错误,我处理得不好,它以某种方式使标签短路。我对该错误的处理进行了一些更改(并且还修复了该错误),现在标签正确显示。

<小时/>

另一个更新

问题又回来了。有任何想法吗?我将添加赏金以示鼓励。

最佳答案

您描述的问题可能是由客户计算机上 VSTO 加载项的加载顺序引起的。我以前见过一些奇怪的问题,其中一个 Excel 加载项在加载过程中踩到了后面的加载项。这可以解释为什么您无法在计算机上重新创建问题(不同的加载项和/或加载项加载顺序)以及为什么第二个工作表不会显示该问题(有问题的加载项已加载,因此不创建阻止加载项的初始功能区标签显示的进程。

以下是您可能想要尝试的一些操作:

  • Workbook.New 事件期间调用 Invalidate 方法,查看加载所有加载项后刷新功能区是否可以解决问题。

    IRibbonUI.Invalidate

    Workbook.New Event

    或者,如果上述方法不起作用,那么看看在初始启动时立即关闭初始空白工作簿并打开新的空白工作簿是否会重新绘制标签可能会很有趣。

  • 更改客户计算机上的加载顺序,方法是将您的外接程序更改为按需加载,然后创建第二个外接程序,在加载后调用您的外接程序(从而消除来自其他外接程序的可能干扰)过程)。

    Change the Load Order of COM Add-ins in Excel

关于.NET VSTO - Excel 功能区选项卡标签为空白,但仅在 Excel 的第一个实例上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43357969/

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