我想在Microsoft Visio 2013 x64中创建一个新的 Master Shape,就像UML Class Stencil 中的 Class Master Shape一样。
将类主形状添加到页面时,它会自动附加两个成员和一个分隔符主形状。此外,可以在其中添加更多的成员和分隔主形状。
我在想它通过一些编写的 VBA 代码本身添加了其他主形状;但是,当我检查以下完整路径中的UML 类(公制)模板文件时,我发现它没有使用 VBA 代码,根本没有。
D:\Program Files\Microsoft Office\Office15\Visio Content\1033\USTRME_M.VSSX
文件扩展名是“Visio Stencil (.vssx)”而不是“Visio Macro-Enabled Stencil (.vssm)”;所以,它不能有 VBA 代码。
我知道我可以通过在 ShapeSheet 的 Actions 部分添加一些新行来做一些事情;但是,不存在为类形状添加新的成员和分隔主形状的任何操作行。
图 1 - 上下文菜单中有两个附加选项的分隔符形状,ShapeSheet 中没有任何相关行
图 2 - 显示一个栏以插入分隔符形状
图 3 - 上下文菜单中有两个附加选项的成员形状,但 ShapeSheet 中没有任何相关行
图 4 - 显示一个插入成员形状的栏
当我点击放置在页面中的类形状时,它在上下文菜单中有两个新选项:
- 显示模板参数
- 显示刻板印象
我为他们看到了相关的操作部分行。
图 5 - 上下文菜单中具有两个附加选项的类 Shape 以及 ShapeSheet 中的相关行
当我点击添加类形状中的成员和分隔符形状时,可以看到“在之前/之后插入“成员/分隔符”;但是,当我直接在页面上(不在类形状中)添加成员和分隔主形状时,当我点击它们时,在上下文菜单中看不到额外的选项。
图 6 - 上下文菜单中没有其他选项的分隔符形状
图 7 - 上下文菜单中没有附加选项的成员形状
我检查了他们的 ShapeSheet 并找不到上述操作的任何相关行。
现在,我的问题是,如何在没有任何 VBA 代码(如 Microsoft 创建的 UML 类模板中的类形状)的情况下创建一个能够接受其他一些主形状的新主形状?