首页 > 解决方案 > 如何访问功能区中用户创建的选项卡中的特定控件?

问题描述

我无法使用 VBA 访问 MS Word 功能区中的特定按钮。到目前为止,我对代码的了解很少,因为无论我在哪里搜索以及在 Google 上使用什么字符串,互联网上都出现了 bupkes。我知道我需要使用 访问功能区本身CommandBars("Ribbon"),但是当我尝试遍历 中的所有控件时CommandBars("Ribbon"),它总共有一个控件。什么……?整个功能区中只有一个控件?你的摇滚,VBA。

我已运行此代码以获取控件列表:

Dim Counter As Integer
For Counter = 1 To CommandBars("Ribbon").Controls.Count
    Debug.Print CommandBars("Ribbon").Controls(Counter).TooltipText
Next Counter

而且,奇怪的是,我只得到了一个控件,工具提示文本是“任务&k 窗格”。(从 Word 本身和 VBA 窗口运行宏时,我得到了这个。)

有谁知道我如何访问功能区中的特定用户定义选项卡,以便我可以访问特定控件上的读取属性?

标签: vbams-wordribbonx

解决方案


CommandBars属性返回一个CommandBars表示 Microsoft Word 命令栏的对象。与Application对象一起使用时,此属性返回应用程序可用的内置和自定义命令栏集。但它不包含功能区控件。如果您需要对命令栏控件执行任何操作,您可以使用CommandBars方法。例如,您可以检查特定控件是否可见或不传递idMso内置控件的名称:

 Application.CommandBars.GetVisibleMso("Bold")

以下系列文章中的 Fluent UI(又名 Ribbon UI):


推荐阅读