我的前景功能区中有一个带有按钮和下拉按钮的RibbonSplitButton。我想只触发顶部按钮忽略下拉。
如果我尝试使用Outlook加载项中的execute方法触发按钮,则会抛出错误,因为按钮名称都相同。
Error in IAccessible.accDoDefaultAction: MAPI_E_CALL_FAILED
。
任何人都可以帮助我点击唯一的顶部按钮。
答案 0 :(得分:0)
如果要以编程方式区分内置功能区控件,可以使用CommandBars类的ExceuteMso方法。在没有特定命令的对象模型的情况下,此方法很有用。适用于内置按钮,toggleButtons和splitButtons的控件。失败时,它会返回无效IdMso的E_InvalidArg,以及未启用或不可见的控件的E_Fail。
以下示例执行“复制”按钮。
Application.CommandBars.ExecuteMso(“Copy”)
但如果它是一个自定义控件 - Fluent UI并没有为此提供任何内容。您可以尝试使用Accessibility API。