我想要创建许多宏并能够在任何Visio文档中使用它们。我知道使用“录制宏功能”创建宏的基本原理,但看起来这样记录的宏只适用于该Visio文件。我已经搜索了解如何做到这一点,但在如何做到这一点方面还没有取得成功。任何援助将不胜感激。使宏可用于任何Visio文档
回答
我假设你的意思是你想要在Visio文档中编写调用其他Visio文档中写入代码的代码。我知道用VBA做这件事有两种方法。
第一个是对Document对象使用ExecuteLine方法。您只需传入一行VBA,您想在该文档中调用该字符串作为字符串参数,并调用代码。这真的只适用于调用不带任何参数的宏,或者如果他们这样做,只是字符串/数字参数。
第二种方法是保存文档(通常是vss * stencil文件,如果您使用宏提供模板形状),并在任何其他文档中只设置对代码文件的引用。这允许VB编辑器具有智能感知并查看可以在宏文件中调用的所有方法,并可以传递您的方法可以采用的任何类型的参数。
现在,如果您只想通过UI操作在中央文件中调用/调用简单方法,可以采用许多不同的方法来执行此操作。您可以将代码分配给不同的形状,即每当形状移动或双击时。这可以在ShapeSheet窗口中为事件部分中的形状分配。
您还可以在Visio页面上绘制命令按钮或任何其他VBA控件,并将这些宏分配给这些按钮。
或者你可以去工具 - >宏 - >(你的文档名称),并且你的代码文件中的每个模块会有更多的下拉列表,你可以调用任何没有参数的公共子集。
或者您可以使用调用代码的按钮构建工具栏(在Visio 2010之前)或功能区界面。根据我的经验,为VBA解决方案构建工具栏虽然有些蹩脚。工具栏按钮必须调用包含在您希望代码执行的文档中的代码。因此,假设您将代码全部写入并保存在VSS文件中,每当打开新文档时,都会调用一个为新文档添加工具栏的方法。当您将代码分配给该工具栏上的按钮时,工具栏会假定您分配的代码位于您打开的新文档中,而不是您的VSS文件。因此,为了让你的按钮调用你的VSS文件,你必须在你的新文档中使用ExecuteLine来调用你的VSS文件中的实际代码。这很痛苦,因为现在你的用户必须使用你提供的VST模板文件,而不是理论上在你想要的任何图纸上使用你的工具。
不好意思,但是Visio在如何调用代码方面非常灵活,所以你可以做任何你想做的事情。
我的解决方案是将我的宏保存在模具中。只要您打开模板,代码即可用于活动图形。现在,如果我只是想出如何在模板中放置“按钮”来激活特定的宏...
- 1. 可用于xe:objectData的任何文档?
- 2. 无法使用Python打开Visio文档
- 3. 将Visio宏导出到Visio COM-Add-in
- 4. 如何从模板调用Visio宏
- 5. 如何使用Visio中的顺序图显示文档?
- 6. 是否有任何C++代码可用于查看XPS文档?
- 7. MSBUILD宏文档?
- 8. 使用宏打开可信文档或启用宏时Excel崩溃
- 9. 如何制作任何人都可以使用的CSS文档?
- 10. 关于使用Internal`Bag和任何官方文档?
- 11. 使用open xml从word文档中提取Visio图表?
- 12. 在visio中创建分段文档
- 13. 用于模拟接口的任何Visio模板?
- 14. 如何使用宏删除Word文档中的所有文本?
- 15. Android版可用Ant任务的文档?
- 16. 如何将Visio文档.xml转换为csv文件c#
- 17. 如何使用关于文档准备
- 18. 用于Word文档一对多分割的宏
- 19. Excel VBA宏的文档
- 20. Excel Personal.xlsb保存文档宏
- 21. 关于Apache如何处理文件上传的任何文档?
- 22. NSF文件结构文档可以在任何地方在线使用吗?
- 23. Getting ImportError:没有任何模块命名文档用于任何云导入
- 24. 将可可基于文档的文档标记为脏
- 25. 关于如何使用Gaussians混合opencv实现的任何教程/好文档?
- 26. 3D相当于Visio
- 27. 使用microsoft visio pinging
- 28. 用于错误处理的任何QTI2.0标准XML文档?
- 29. 用于优化R性能的任何文档?
- 30. 适用于512M VPS的任何面向文档的数据库