首页 > 解决方案 > 使用 VBA for PowerPoint 在编辑框中填充文本

问题描述

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

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

但这在我的情况下没有发生。有人可以帮助/指导我使用 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

标签: vbapluginsms-officepowerpointribbon

解决方案


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


推荐阅读