Это связано с этим вопросом Как сделать Я программно / автоматически изменяю форматирование текста для текста фигуры Visio после завершения редактирования?
Там я попытался использовать некоторый код, который будет выполняться при редактировании текста фигуры. По некоторым причинам, как описано там, в некоторых ситуациях, которые я не мог изолировать, код выполняется бесконечно. Вероятно, это связано с тем, что сценарий вызывает себя в цикле. Код должен выполняться каждый раз, когда текст фигуры редактируется, НО сам код изменяет цвет текста. Я предполагаю, что это будет считаться новым изменением текста и так далее.
Я думаю об использовании события TextChanged. Согласно документации, это должно выполнить код, когда пользователь завершит редактирование http://msdn.microsoft.com/en-us/library/office/ff768749.aspx
Мне не удалось найти пример использования такого события в VBA, и здесь мне нужна ваша помощь, заранее спасибо Uni
Вот как я тестировал: я использовал CallThis ('ThisDocument.warning "), чтобы вызвать процедуру ниже из события" TheText "этой формы (доступно через таблицу фигур)
Дополнительное предупреждение (oShape As Visio.Shape) MsgBox («Текст отредактирован») End Sub
Это выполняется примерно три раза, если я отмечу редактирование текста фигуры и нажимаю клавишу пробела (добавляя пробел к существующему тексту).