vba - 如何访问功能区中用户创建的选项卡中的特定控件?
问题描述
我无法使用 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 窗口运行宏时,我得到了这个。)
有谁知道我如何访问功能区中的特定用户定义选项卡,以便我可以访问特定控件上的读取属性?
解决方案
该CommandBars
属性返回一个CommandBars
表示 Microsoft Word 命令栏的对象。与Application
对象一起使用时,此属性返回应用程序可用的内置和自定义命令栏集。但它不包含功能区控件。如果您需要对命令栏控件执行任何操作,您可以使用CommandBars方法。例如,您可以检查特定控件是否可见或不传递idMso
内置控件的名称:
Application.CommandBars.GetVisibleMso("Bold")
以下系列文章中的 Fluent UI(又名 Ribbon UI):
推荐阅读
- html - Angular - 从焦点中排除 div
- sql-server - 排除意义相同但值不同的行
- python - loc[ ] 是 Pandas 中的一个函数吗
- django - Django Microsoft AD 身份验证
- node.js - Node.js 多个请求同时返回一个结果
- git - 切换到管道内的另一个分支?
- java - 哪些 ClientConfiguration 设置最适合建立 Elasticsearch 连接
- google-apps-script - Google Apps 脚本 - Gmail - 是否可以将邮件作为附件转发?
- haskell - Haskell Monads 和 liftIO 我不明白
- python - pyglet 如何知道如何运行 on_draw() 函数?