将参数传递给VBA宏

将参数传递给VBA宏,vba,parameters,visio,Vba,Parameters,Visio,我试图在双击Visio形状时运行宏 我想将shape对象传递给VBA宏,以便根据shape对象的id在宏中执行某些操作 是否可以将参数传递给VBA宏。如果是,请告诉我怎么做 谢谢。当你点击一个对象时,选项会改变。可以使用宏中的选择对象引用当前选定的对象 我不确定双击是否可以运行宏,但我的VBA体验并非来自Visio。谷歌搜索结果显示,这似乎是可能的。如果将其作为命令栏上的一个按钮,即使在上下文菜单中也只需稍加努力,则在任何情况下都会被限制为不带参数的子过程。您可以将宏作为EventDblClic

我试图在双击Visio形状时运行宏

我想将shape对象传递给VBA宏,以便根据shape对象的id在宏中执行某些操作

是否可以将参数传递给VBA宏。如果是,请告诉我怎么做


谢谢。

当你点击一个对象时,
选项会改变。可以使用宏中的选择对象引用当前选定的对象


我不确定双击是否可以运行宏,但我的VBA体验并非来自Visio。谷歌搜索结果显示,这似乎是可能的。如果将其作为命令栏上的一个按钮,即使在上下文菜单中也只需稍加努力,则在任何情况下都会被限制为不带参数的子过程。

您可以将宏作为EventDblClick事件放置在要查看的形状上。为此,可以使用CallThis函数()在每次双击形状时调用宏

不过,这需要为每个要查看的形状修改shapesheet。如果要为要观看的形状提供主控形状,这应该不是什么大问题,但否则,您必须编写代码,将事件添加到要观看的每个形状中(尽管您可以在文档上使用Document\u shapeaded事件,在添加形状时将事件添加到shapesheet)