Заполните текст в editBox, используя VBA для PowerPoint - PullRequest
0 голосов
/ 25 февраля 2020

Я новичок в разработке плагинов Power Point для VBA. Я успешно добавил editBox на ленте PowerPoint с помощью редактора CustomUI. Позже я столкнулся с трудностью динамического добавления текста в editBox с помощью кода VBA. Я видел некоторые решения, такие как поток, как упомянуто ниже:

  1. Запись функции onLoad
  2. Используя метод GetText, текст можно ввести в editBox с помощью функции Invalidate.

Но этого не происходит в моем случае. Может ли кто-нибудь помочь / направить меня для заполнения данных в editBox ленты PowerPoint с использованием кода VBA?

Для справки я разместил ниже код. Пожалуйста, проверьте.

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

1 Ответ

0 голосов
/ 06 марта 2020

Спасибо за вашу поддержку. Я нашел решение. Чтобы динамически обновлять editBox на ленте либо в Excel / PowerPoint, нам необходимо назначить функции обратного вызова в макете XML PowerPoint. Те же функции должны быть реализованы во время сценариев. В моем случае я обнаружил, что в имени функции VBA есть изменение с именем функции XML. В результате функции обратного вызова не запускаются. Я изменил их правильно, теперь работает нормально.

...