问题标签 [excel-iribbonui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1166 浏览

excel - Excel 自定义 RibbonUI;为菜单添加部分标题

我正在运行 2016 独立 Excel(32 位版本)。我一直在构建自定义功能区,到目前为止一切都很好。文档非常流畅且写得很好。但是,我找不到任何方法来包含菜单“部分标题”,如下所示:

在此处输入图像描述

具体参考图片中的部分标题(即“单元格大小”、“可见性”等)。我已经看到其他加载项模拟了这一点,除非它们是 COM 加载项。这是我参考的文档:https ://msdn.microsoft.com/en-us/library/dd911038(v=office.12).aspx

是不是已经过时了?我尝试将“带标题的菜单”添加到我的项目中,但这甚至不起作用。我也尝试过添加<labelControl />,当 labelControl 位于菜单中时,功能区甚至不会加载。

此外,我的 Excel 版本甚至不会显示,<dialogBoxLauncher>所以我担心有些东西与我的 Excel 版本不兼容。我很容易遵循文档,其他一切都很好。我什editBox至在我使用的功能区中有一个,并且没有遇到任何 91 错误。所以我知道这不是我。

任何人都可以使用提供的 API 复制它吗?我的功能区是用 XML 构建的,所以我尽可能地减少了错误的可能性,这是我的问题吗?是否应该有专门为章节标题实现的运行时代码?


我的设置的简短片段

0 投票
1 回答
439 浏览

excel - “运行时错误 '1004' 无法编辑隐藏工作簿上的宏。使用取消隐藏命令取消隐藏工作簿”在功能区 XML 中使用“onLoad”时

我感觉我错误地使用了“onLoad”回调。基本上我要做的是在我的自定义功能区加载后立即在 VBA 中运行一些代码(位于我创建的加载项上)。

这是 XML 代码:

这是VBA代码:

这是一个全局声明:

这是我试图运行的代码:

问题是,如果我尝试打开现有的工作簿(当没有打开其他 excel 实例时),我会收到以下错误:

运行时错误“1004”:无法编辑隐藏工作簿上的宏。使用取消隐藏命令取消隐藏工作簿。

然后我必须在错误上选择两次“结束”按钮,因为它会弹出两次。

我想我可以理解为什么它会抛出该错误,我的自定义加载项尚未加载自定义功能区,但由于主功能区已加载,它正在尝试运行它看不到的宏。但是,如果我已经打开了一个工作簿并且我的自定义功能区已经可见,它根本不会运行代码。任何建议,将不胜感激。

0 投票
1 回答
624 浏览

vba - IRibbonUI 文档加载事件

我想知道是否有人可以帮助我解决 VBA 问题——我已经 20 多年没有编写 VBA 了,我被困住了。

我创建了一个功能区按钮,如果从本地驱动器或文件共享打开 Word 文档,我需要将按钮设为灰色。如果从 SharePoint 或 OneDrive 打开文档,我需要激活按钮。

然后我使用这个 if 语句来测试文件位置。就是不火?

我已经为此工作了一个多星期,并且我正在全力以赴完成它。

0 投票
0 回答
63 浏览

excel - 无法执行宏模块

我目前正在努力在 excel 中创建自己的功能区。我在启用宏的工作簿中的一个模块中编写了特定代码,随后将其另存为 Excel 加载项 (.xlam)。但是,每当我尝试在启用宏的工作簿中运行该模块时,都会出现选择宏窗口并且不执行任何代码(参见图片以供参考)。随后,我认为这也是导致我的功能区按钮在单击“此工作簿中可能不可用宏或可能禁用所有宏”时出现以下错误的原因。

任何帮助/建议将不胜感激。谢谢。

在此处输入图像描述

0 投票
1 回答
75 浏览

c# - UI 功能区:如何取消按下切换按钮?

在此处输入图像描述

有4个切换按钮,当我点击一个时,其他3个没有点击 例如,当我点击公开时,机密的点击将被删除。只能选择 1 个。

当我调用 GetPressedConfidential 方法时它不起作用。