如何防止 Excel 在以编程方式切换工作表时显示图表设计功能区

问题描述 投票:0回答:2

我正在构建 Excel 365 的加载项,并且需要能够以编程方式切换工作簿的激活工作表。这很简单,目前使用以下代码完成:

sheet.Select();

这是一个例子:

但是,如果工作表是

Chart
(图中
Chart1
),并且第一次选择该图表,Excel 会自动从我的自定义加载项功能区选项卡切换到内置图表设计选项卡在功能区中。通过这样做,用户会失去自定义选项卡,这对他们来说是一个可用性问题。

这是我调用

sheet.Select()
后功能区的示例:

问题:有没有办法阻止 Excel 切换选项卡,或者恢复该更改?

我尝试调用

ActivateTab
,但在调用时,该方法总是抛出
ArgumentException
并显示以下消息:

数值未落在预期范围内。

这是我在功能区组件中使用的代码:

var tab = this.Tabs.First();
var controlId = tab.ControlId;
var id = controlId.ToString();
this.RibbonUI.ActivateTab(id);// throws value does not fall within the expected range
c# excel office-interop office-addins excel-interop
2个回答
0
投票

您可以使用

ActivateTabMso
方法再次激活ribon选项卡:

this.RibbonUI.ActivateTabMso("TabAddIns");

0
投票

我发现解决图表推荐导致的时间同步问题的最快方法是创建包含前 25 个点的图表。然后单击图表并手动将 x 和 y 图表数据中的 25 更改为数据中的最大点数(即 90000)。因为图表已经做好了,点数变大是瞬间的事……

© www.soinside.com 2019 - 2024. All rights reserved.