我尝试使用一些在编辑形状文本时执行的代码 由于某些原因,如那里所述,在某些我无法隔离的情况下,代码会无休止地执行。 这可能是因为脚本在循环中调用自身。每次编辑形状文本时都应该执行代码但代码本身会改变文本的颜色。我想这会算作一个新的文本更改等等。
我正在考虑使用名为TextChanged的事件。根据文档,这应该在用户完成编辑时执行代码 http://msdn.microsoft.com/en-us/library/office/ff768749.aspx
我找不到在VBA中使用此类事件的示例,这是我需要您帮助的地方 提前致谢 Uni
这是我测试的方式: 我使用CallThis('ThisDocument.warning')从该形状的“TheText”事件调用下面的过程(可通过形状表获得)
子警告(oShape As Visio.Shape) MsgBox(“文本编辑”) 结束子
如果我直接编辑形状文本并按空格键(为现有文本添加空格),则会执行三次
答案 0 :(得分:1)
好的就是你如何做到这一点:
打开代码编辑器 在Project explorer中选择“ThisDocument” 接下来在ObjectWindow中选择Document 然后在Method下拉框中选择ShapeExitedTextEdit 您将看到如下所示的骨架程序
Private Sub Document_ShapeExitedTextEdit(ByVal oShape As IVShape)
End Sub
每次编辑完成时都会添加要执行的代码