当我双击 Visio 形状时,我正在尝试运行宏。
我想将 shape 对象传递给 VBA 宏,以便我可以根据 Shape 对象的 id 在宏中执行某些操作。
是否可以将参数传递给 VBA 宏。如果是,请告诉我怎么做?
谢谢。
当我双击 Visio 形状时,我正在尝试运行宏。
我想将 shape 对象传递给 VBA 宏,以便我可以根据 Shape 对象的 id 在宏中执行某些操作。
是否可以将参数传递给 VBA 宏。如果是,请告诉我怎么做?
谢谢。
当您单击一个对象时,会Selection
发生变化。您可以在宏中使用 Selection 对象来引用当前选定的对象。
我不确定是否可以通过双击运行宏,但我的 VBA 体验并非来自 Visio。随着谷歌搜索的出现,这似乎是可能的。如果你把它作为一个按钮放在命令栏上,即使在上下文菜单中也需要更多的努力,无论如何你都将被限制为一个没有参数的 Sub 过程。
您可以将宏作为 EventDblClick 事件放在要观看的形状上。为此,您将使用 CallThis 函数 ( http://msdn.microsoft.com/en-us/library/aa212649(office.11 ).aspx ) 在每次双击形状时调用您的宏。
但是,这需要您修改要查看的每个形状的 shapesheet。如果您为要观看的形状提供母版,这应该没什么大不了的,但否则您必须编写代码将事件添加到您想要观看的每个形状中(尽管您可以在添加形状时使用文档上的 Document_ShapeAdded 事件将您的事件添加到 shapesheet)