我有两个问题:
是否可以通过VBA代码更改形状的ShapeSheet(电子表格)参数?更准确地说,我需要在形状的ShapeSheet中更改EventDblClick参数值。
是否存在另一种将鼠标双击事件处理程序注册到Visio形状的方法?我希望每次双击形状并获取形状对象作为参数时,都会调用我提供的子例程。
到目前为止,我知道要做的就是注册以添加如下所示的形状事件:
Private Sub Document_ShapeAdded(按Visio.IVShape格式的ByVal vsoShape)
'Do something with the shape object.
结束子
每次将新形状添加到Visio页面时,都会调用此子例程。
答案 0 :(得分:1)
使用this link作为指导:
您为子例程设置是好的,在这种情况下,将其保留为Private
是有效的,因为在同一文档中已对其进行了引用。如果您的图形正在调用另一个文档或Office产品中的子例程,则需要创建引用的子例程Public
。
放下新形状时,先定义并命名。然后,您可以像这样设置双击子例程:
shpYourShapeName.CellsSRC(visSectionObject, _
visRowEvent, visEvtCellDblClick).FormulaU = _
"CALLTHIS(""ThisDocument.SubRoutineName"")"
其中“ SubRoutineName”是图形的VBA代码中包含的公共子例程。