我想在 Microsoft Visio 2013 x64 中创建一个新的主形状,例如UML类模具中的类主形状。 < / p>
将Class Master Shape添加到页面时,它会自动附加两个Member和一个Separator Master Shapes。此外,可以在其中添加更多成员和分隔符主形状。
我认为它通过一些书面的VBA代码本身添加了其他主形状; 然而,当我检查 UML类(公制)模板的文件时以下完整路径我得到它没有使用VBA代码,根本没有。
D:\Program Files\Microsoft Office\Office15\Visio Content\1033\USTRME_M.VSSX
文件扩展名为&#34; Visio Stencil(.vssx)&#34;而不是&#34; Visio Macro-Enabled Stencil(.vssm)&#34 ;;所以,它不能有VBA代码。
我知道我可以通过在ShapeSheet的Actions部分添加一些新的行来做一些事情;但是,它不存在任何动作行为类形状添加新的成员和分隔符主形状。
图1 - 在上下文菜单中有两个附加选项且在ShapeSheet中没有任何相关行的分隔符形状
图2 - 显示插入分隔符形状的栏
图3 - 在上下文菜单中有两个附加选项且在ShapeSheet中没有任何相关行的成员形状
图4 - 显示插入成员形状的栏
当我点击人民币点击位于页面中的类形状时,它在上下文菜单中有两个新选项:
我看到相关的行动&#39;部分行为他们。
图5 - 在上下文菜单中有两个附加选项的类形状和ShapeSheet中的相关行
当我点击人工添加班级形状的会员和分隔符形状时,可以看到&#34;插入&#34;会员/分隔符&#34; /后&#34之前; ;但是,当我在页面上直接(不是类形状)添加成员和分隔符主形状时,当我点击它们时,无法在上下文菜单中看到额外的选项。
图6 - 上下文菜单中没有其他选项的分隔符形状
图7 - 上下文菜单中没有其他选项的成员形态
我查看了他们的ShapeSheet,无法找到上述操作的相关行。
现在,我的问题是 如何创建一个新的主形状,能够接受其他一些主形状而没有像Microsoft创建的UML类模板中的类形状那样的VBA代码?
答案 0 :(得分:2)
此功能称为&#34;列表&#34; Visio中的(结构化图)(在Visio 2010中引入)。要允许这种功能(允许某些形状为&#34;接受&#34;其他类似于&#34; class&#34;形状),您需要将形状声明为&#34; list&#34; ,通过设置用户属性User.msvStructureType =&#34; List&#34;在它的形状表中。要声明它应该接受的项类型,您还需要设置单元格User.msvSDListItemMaster = USE(&#34;您的项目的主名称&#34;)。意思是,您可以只绘制一个普通的矩形(例如),然后将其转换为&#34; List&#34;通过添加这两个用户属性。列表/容器有更多可用选项(例如边距,行为等)。
详细描述此功能的MSDN文章:http://blogs.msdn.com/b/visio/archive/2010/01/12/custom-containers-lists-and-callouts-in-visio-2010.aspx