【问题标题】:Fill text in editBox using VBA for PowerPoint使用 VBA for PowerPoint 在编辑框中填充文本
【发布时间】:2020-06-08 18:13:35
【问题描述】:

我是 VBA 电源点插件开发的新手。我已使用 CustomUI 编辑器在 PowerPoint 功能区中成功添加了编辑框。后来我在通过 VBA 代码动态地将文本添加到编辑框时遇到了困难。 我已经看到了一些解决方案,如下所述:

  1. 编写 onLoad 函数
  2. 使用GetText方法,可以使用Invalidate函数在editBox中输入文本。

但这在我的情况下没有发生。 有人可以帮助/指导我使用 VBA 代码在 PowerPoint 功能区的编辑框中填充数据吗?

作为参考,我在下面发布了代码。请检查。

Option Explicit

Dim sRename As String
Dim RibbonUI As IRibbonUI

Sub OnSlideLoad(ribbon As IRibbonUI)
Set RibbonUI = ribbon
Set sRename = "checking"
End Sub

Sub Height_onChange(control As IRibbonControl, text As String)
    MsgBox text
End Sub

Sub Width_onChange(control As IRibbonControl, text As String)
    MsgBox text
End Sub

Sub Height_getText(control As IRibbonControl, ByRef returnedVal)
    returnedVal = sRename
End Sub

Sub Width_getText(control As IRibbonControl, ByRef returnedVal)
    returnedVal = sRename
End Sub

Sub ButtonClick()
    RibbonUI.InvalidateControl ("boxHeight")
End Sub

【问题讨论】:

  • 请贴出您目前编写的代码,并指出哪一行产生了错误消息(如果有)。
  • @JohnKorchok 我已更新代码供您参考,请检查
  • 您还需要提供将编辑框添加到 PowerPoint 的功能区 xml 代码。
  • Width_getText 会被调用吗?尝试先运行一个 MsgBox 来查看它是否被调用,然后将 returnedVal 设置为固定字符串(如“hello”)而不是使用 sRename - 使用不正确。

标签: vba plugins ms-office powerpoint ribbon


【解决方案1】:

感谢您的支持。我找到了解决方案。 要在 Excel/PowerPoint 的功能区中动态更新 editBox,我们需要在 PowerPoint 的 XML 布局中分配回调函数。 编写脚本时必须实现相同的功能。 就我而言,我发现 VBA 函数名称与 XML 布局函数的名称发生了变化 因此,不会触发回调函数。 我已正确修改它们,现在可以正常工作了。

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 2023-01-11
    • 2020-10-12
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多