excel - Excel中的自定义功能区选项卡
问题描述
我从这里得到了 ErikaS 的代码:如何使用 VBA 添加自定义功能区选项卡?
我无法回复那个帖子。
它在 vba 脚本中使用 xml 来创建带有按钮的选项卡。
我也得到了这个方法:Application.CommandBars(1).Controls.Add
有没有办法将这两种方法结合起来?如果我使用 Application.CommandBars,我只能将按钮添加到加载项选项卡。我无法弄清楚如何访问我通过 xml 脚本添加的选项卡。我也无法添加新选项卡,只能将按钮添加到加载项选项卡。我希望尽可能少地使用 xml,因为通过 vba 传递它是很复杂的。
我正在使用 excel 2010,但它也必须在 excel 2016 上工作。
解决方案
命令栏已弃用,不应用于自定义 Office 应用程序中的 UI。相反,您需要使用 Fluent UI(又名 Ribbon UI)在 Office 应用程序中创建自定义 UI:
- 为开发人员自定义 2007 Office Fluent 功能区(第 1 部分,共 3 部分)
- 为开发人员定制 2007 Office Fluent 功能区(第 2 部分,共 3 部分)
- 为开发人员定制 2007 Office Fluent 功能区(第 3 部分,共 3 部分)
出于兼容性目的,命令栏控件被添加到加载项选项卡中。但是这种行为可能会在任何时候改变,因为它们已被弃用,没有人能保证它的工作。但是,ExecuteMso
它是唯一有效的命令栏方法,可用于以编程方式调用内置控件。
推荐阅读
- html - 找不到 SVG 标记 ID
- scala - 选择包含数组类型和普通类型的列,全部展平
- windows - 如何在 Windows 10 上自动创建备份、下载备份和恢复 postgres 备份?
- sql - 按状态获取每个位置的计数
- python - 如何正确转义 JSON 中保留的正则表达式字符?
- php - Codeigniter 防止文本字段中出现“空白和空格”
- swift - 如何仅在一个线程上运行任务?
- python - Jpython ImportError:没有名为 cv2 的模块
- python - 在 Tensorflow 2.0.beta1 中编写 tf.estimator.export.ServingInputReceiver 时需要帮助
- javascript - 如何使用 javascript 重新加载网页?