Visio:我可以在Visio的每一页上都有CommandButton吗?只有一组代码在各个层上执行相同的任务



是否可以在每个页面上都有一个按钮(调用(,该按钮将使用完全相同的代码,但仅适用于从中调用的页面上的层,从而减少要写入/修改或添加的代码量。

使用CommandButton(或ToggleButton(代码的Page-1更改图层可见性的状态。它是有效的。第2页和第1页等。如果我一遍又一遍地写代码,它就可以工作了。

我目前有11页,每一页都有相同的层属性名称(一页上有31层(。。。(例如,第1页有ALLBACK、BAU、Callout……((第2页有ALLACK、BAU和Callout…..(等。因此,31*11个Commandbuttons=341个按钮,将代码减少到31个选项会很好,但我找不到这样做的线索。

为了清晰起见,每一页都是一个时间线,每一个都是6个月,第1页是2018_Q34,第2页是2019_Q12,第3页是2019-Q34等等…

感谢您提前提供的帮助。Stephen

你可以,但我已经很久没有在Visio中完成任何VBA了,所以请耐心等待。

打开VBA编辑器,然后选择"文档对象"。这假设你正在查看你想对其进行这些修改的图纸。

创建一个新的子例程,随意命名。当按下按钮时,这就是您要调用的内容。为页面编写需要执行的代码。

现在,在按钮的OnClicked((处理程序中,调用文档上的新子例程。

我希望我还有一份Visio,我可以在大约五分钟内给你写一个简单的例子。

我希望这能有所帮助。

这是一个相当晚的答案,但也许其他人可以使用它。

与其使用这些按钮,我建议在功能区栏中添加一个新菜单。我使用此工具执行以下操作:https://www.rondebruin.nl/win/s2/win001.htm

然后你可以用这个按钮调用sub。在子页面的开头,您可以使用activepage获取当前页面并对其进行处理

为了使其更加灵活,请更改子以接受页面作为参数。然后创建另一个模块,在这个模块中有多个小个子。这些子系统会被你的按钮调用,反过来调用你的原始子系统并传递你想要编辑的页面。

最新更新