问题标签 [shapesheet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8996 浏览

text - Visio 模具/形状文本框被隐藏 - 需要显示

我已经从https://download.emc.com/downloads/DL38235_VNX_Visio_Stencil.zip下载并使用了 VNX 5300 模板/形状(我必须创建一个免费帐户才能下载它)。

我可以像往常一样按 F2 来编辑文本,但它不会显示。在其他下载的形状/模具上,如果我右键单击形状/模具,我可以选择隐藏/显示形状文本,但它不存在于此。我查看了 shapesheet 数据,并且“隐藏文本”已设置为 false。在开发者选项中,文本不受保护。

有没有办法强制显示文本?我希望学习如何解决这个问题,而不是创可贴,只是添加第二个文本框。

0 投票
2 回答
1300 浏览

vba - 以编程方式将菜单操作添加到 Visio

我正在创建一个宏以将菜单按钮添加到选定的 Visio 形状对象,因此每当用户右键单击该框时,都会出现一个选项并调用宏。我为对象创建了几个属性,将由要调用的操作使用。

我可以通过使用ShapeSheet编辑器 -> 查看部分 -> 操作 -> 并使用 Action 值配置操作 来手动完成(成功)=CALLTHIS("ThisDocument.myFunction",,Prop.IPAddress)

我正在尝试做的是通过创建一个执行相同操作的宏来自动执行此操作:

我的问题:

在传递参数时,我应该在FormulaU上设置什么值来引用宏中定义的子例程。如果我不应该使用这个 FormulaU 属性,请指出正确的属性。

0 投票
1 回答
1922 浏览

shape - 将(主)形状添加到页面时,在 Microsoft Visio 2013 x64 中将一些(主)形状添加到另一个(主)形状

我想在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 部分添加一些新行来做一些事情;但是,不存在为类形状添加新的成员和分隔主形状的任何操作行。

在上下文菜单中有两个附加选项且在 ShapeSheet 中没有任何相关行的分隔符形状

图 1 - 上下文菜单中有两个附加选项的分隔符形状,ShapeSheet 中没有任何相关行

显示条形以插入分隔符形状

图 2 - 显示一个栏以插入分隔符形状

成员形状在上下文菜单中有两个附加选项,但在 ShapeSheet 中没有任何相关行

图 3 - 上下文菜单中有两个附加选项的成员形状,但 ShapeSheet 中没有任何相关行

显示条形以插入成员形状

图 4 - 显示一个插入成员形状的栏

当我点击放置在页面中的类形状时,它在上下文菜单中有两个新选项:

  • 显示模板参数
  • 显示刻板印象

我为他们看到了相关的操作部分行。

使用上下文菜单中的两个附加选项和 ShapeSheet 中的相关行对 Shape 进行分类

图 5 - 上下文菜单中具有两个附加选项的类 Shape 以及 ShapeSheet 中的相关行

当我点击添加类形状中的成员和分隔符形状时,可以看到“在之前/之后插入“成员/分隔符”但是,当我直接在页面上(不在类形状中)添加成员和分隔主形状时,当我点击它们时,在上下文菜单中看不到额外的选项。

上下文菜单中没有其他选项的分隔符形状

图 6 - 上下文菜单中没有其他选项的分隔符形状

上下文菜单中没有其他选项的成员形状

图 7 - 上下文菜单中没有附加选项的成员形状

我检查了他们的 ShapeSheet 并找不到上述操作的任何相关行。

现在,我的问题是,如何在没有任何 VBA 代码(如 Microsoft 创建的 UML 类模板中的类形状)的情况下创建一个能够接受其他一些主形状的新主形状?

0 投票
1 回答
363 浏览

vba - 如何使用另一个字段中的形状 ID 来定义 beginX

背景:新手用户和 VBA 程序员 - 请温柔一点。

场景:使用 Visio (2010) 直线连接器;目前 1-D Endpoints.BeginX 如下:

我所拥有的:一个名为 BeginItem 的相同形状的数据字段,其中包含 Milestone.40 的 Visio ID(例如 87)!以上。

我需要知道的:如果可能,如何将 1-D Endpoints.BeginX 中的公式更改为:

如果不可能,是否有其他方法可以做到这一点?

谢谢!

0 投票
1 回答
1677 浏览

shape - 新创建的自定义列表形状在 Microsoft Visio 2013 x64 中不起作用

客观的:

首先,我应该说我想做什么,然后我将在下一个(描述)部分描述我为实现我的目标所做的工作。

我想从功能区插入选项卡中图表部件部分的普通容器创建自定义列表形状。然后,我想创建另一个主形状,它可以用作Created Custom List Master Shape的成员形状

换句话说,我想将创建的主形状添加到我的自定义列表主形状中,就像将成员和分隔符主形状附加到UML 模板的类主形状中一样。

所以,我在实现我的目标方面遇到了一些问题,我在接下来的部分中将对其进行描述。


说明:

在“Visio Stencil (.vssx)”文件中创建了一些新的主形状,如下所示:

新创建的主控形状与使用的主控形状

图 1 - 新创建的主控形状与使用的主控形状

  1. 属性主形状(绿框):从UML 类模板(蓝框)的成员主形状创建。
  2. 对象主形状(红色框):从功能区插入选项卡中图表部件部分的普通容器创建。

创建属性主形状以用作对象主形状中的成员形状,就像在 UML 模板的类主形状中使用的成员主形状一样。

类主形状及其初始成员

图 2 - 类主形状及其初始成员

从成员主形状创建的属性主形状已更改如下:

  • 我向其中添加了一个形状数据(图 3)。

    图 3 - Property Master Shape 的“Shape Data”对话框

  • 我向其中添加了一个数据图形项(图 4)。

    图 4 - 属性主形状的“数据图形”和“数据图形项”对话框

  • 我在 ShapeSheet 窗口用户定义单元格部分更改了“User.MemberName”公式,如下所示(图 5):

    =MID(SUBSTITUTE(TRIM(SHAPETEXT(TheText)),"[",""),1,FIND(" ",SUBSTITUTE(TRIM(SHAPETEXT(TheText)),"[",""))-1)

    代替:

    =SHAPETEXT(TheText)

    图 5 - 属性主形状的“ShapeSheet”窗口

从普通容器创建的对象主形状已更改如下:

  • 我更改了ShapeSheet 窗口的用户定义单元格和事件部分中的单元格内容,如图 6 所示:

    更改内容后,ShapeSheet 窗口的用户定义单元格和事件部分中的单元格

    图 6 - 更改内容后,ShapeSheet 窗口的用户定义单元格和事件部分中的单元格

    代替:

    在更改其内容之前,ShapeSheet 窗口的用户定义单元格和事件部分中的单元格

    图 7 - ShapeSheet 窗口的用户定义单元格和事件部分中的单元格在更改其内容之前


问题:

第一个问题:

为什么在将属性主形状的实例添加到对象主形状的实例之后没有正确排列和放置属性主形状的实例,例如将成员主形状的实例添加到UML Stencil 的 Class Master Shape 的实例(图 8)?

将 Object Master Shape 的一个实例和 Property Master Shape 的一个实例与 UML Stencil 的 Class Master Shape 的一个实例及其初始成员进行比较

图 8 - 将 Object Master Shape 的一个实例和 Property Master Shape 的一个实例与 UML Stencil 及其初始成员的 Class Master Shape 的一个实例进行比较

第二个问题:

为什么对象主形状的实例在将其/它们附加到页面后不添加其初始成员,就像在将 UML 模板的类主形状的实例添加到页面后添加初始成员一样页(图 9)?

将 Object Master Shape 的实例与 UML Stencil 的 Class Master Shape 的实例进行比较

图 9 - 将 Object Master Shape 的一个实例与 UML Stencil 的 Class Master Shape 的一个实例进行比较

我添加了以下公式来实现这一目标;但是,我认为它不起作用:

=IF(LISTMEMBERCOUNT()=0,DOCMD(2270),0)

第三个问题:

为什么在要插入属性主形状的对象主形状的实例中不显示条形,就像在要插入的 UML 模板的类主形状的实例中显示条形一样其成员(图 10)?

将 Object Master Shape 的实例与 UML Stencil 的 Class Master Shape 的实例进行比较,以显示 Bar 以插入相关的成员

图 10 - 将 Object Master Shape 的一个实例与 UML Stencil 的 Class Master Shape 的一个实例进行比较,以显示 Bar 以插入相关的成员

第四个问题:

为什么 Object Master Shape 的实例接受所有 Master Shape 的实例,除了 Property Master Shape的实例,而不是 Class Master Shape 的实例只接受 UML 模板的成员和分隔主形状的实例的 UML 模板(图 11)?

将接受所有主形状的实例的对象主形状的实例与仅接受 UML 模板的成员和分隔主形状的实例的 UML 模板的类主形状的实例进行比较

图 11 - 将接受所有主形状实例的对象主形状实例与仅接受成员和分隔主形状实例的 UML 模板的类主形状实例进行比较UML 模板

我已经在 ShapeSheet 窗口的用户定义单元格部分=USE("Property")中设置了“User.msvSDListItemMaster” ;但是,我认为它不起作用。

第五个问题:

为什么不显示用于将属性主形状的添加实例上的成员插入到对象主形状的实例中的选项,例如成员和分隔符主形状的附加实例UML 模板到 UML 模板的类主形状的实例(图 12)?

将 Object Master Shape 的一个实例和 Property Master Shape 的一个实例与 UML Stencil 的 Class Master Shape 的一个实例及其成员进行比较,以便在添加的成员上显示插入成员的选项

图 12 - 将 Object Master Shape 的一个实例和 Property Master Shape 的一个实例与 UML Stencil 的 Class Master Shape 的一个实例及其成员进行比较,以便在添加的成员上显示插入成员的选项

第 6 个(最后)问题:

为什么当我将其/它们的主对象更改为列表时,对象主形状的实例的行为和行为类似于容器?

0 投票
1 回答
651 浏览

powershell - 使用 visio 模板设置文本对齐方式

我正在powershell中创建一个自动化的visio图表脚本,添加带有这样的文本的元素。

目前,布局方面的大部分功能都有效,但我在实际上使图表看起来不错的方面遇到了严重的麻烦。

我认为这张图片解释得最好:当您在对象上“编辑文本”时,它似乎以某种方式与对象对齐,无论是在其下方还是在其上方。

我想要的是能够将文本从对象本身对齐到如下所示的右侧,其中“示例用户名”是理想的输出。

在此处输入图像描述

我假设这涉及我几乎没有经验的形状表等。

任何关于修改这些模板的帮助或资源,以便“文本”区域是我想要的地方,将不胜感激。

0 投票
1 回答
1310 浏览

formula - Visio ShapeSheet 使用主节点的连接点管理形状数据文本

我正在尝试在 Visio 中的动态连接器上显示形状数据。这是为了在类图中显示类之间的连接描述。

我面临的问题是 visio 在处理 2D 连接形状时不会自动将数据图形元素(在图形中以绿色显示)放置在一个好的位置(放置选项都是相对于形状中心的)——这确实不适用于长连接器。

我的意图是使用连接器端点处的两个连接点(显示为 CxnLeft 和 CxnRight)将数据图形形状(文本标注 - 下面的 ID 22)放置在相对位置。

我试图在形状数据图形(绿色形状)上创建一个自定义参数(User.LabelPosition3),以便我可以定义它的 x 和 y 坐标但是我还没有找到访问连接形状 Row_1.X 属性的方法-- 如您所见,公式不起作用)

我需要以任何方式获取此值的帮助。或者可以更好地提供此功能的技术

形状表数据

0 投票
1 回答
88 浏览

visio - Visio ShapeSheet 箭头与设置不匹配

我很确定这是 Visio 中的一个错误,但我不知道如何重新创建它......或避免它。

我有一个工具可以通过查看 ShapeSheet 中的“BeginArrow”和“EndArrow”单元格来读取 Visio 中箭头的方向,并且效果很好。然而,一位用户在正确检测方向时遇到了软件问题,我很快意识到了原因。

问题: 有箭头在开头或结尾处带有箭头,但其 shapesheet 的每个值都为 0。如果我只是编辑具有 0 的 shapesheet 单元格并将其替换为 0,则箭头消失,因此箭头和 shape sheet 重新同步。同样,如果我更改箭头,然后将其改回原来的样子,则形状表不再为箭头显示 0。在此处输入图像描述

有没有人遇到过这个问题并找出原因?

我尝试过的事情: 我尝试从其他文档复制和粘贴箭头,从 Visio 的另一个实例中的文档复制粘贴,从 Visio 的其他文档/实例中拖动箭头,询问用户做了什么来创建箭头和它不是我没有尝试过的,所以我很茫然。

0 投票
1 回答
1007 浏览

layer - Visio shapesheet 从名称中获取图层索引

我在 Visio 2010 模具中定义了一些形状,并希望根据特定形状数据字段的值设置图层。如果可能的话,我想在 shapesheet 中执行此操作,因为我的工作场所对 VisualBasic 的使用非常有限。

我可以进行必要的查找以找到特定值,但需要将其转换为页面层列表中的正确索引。

基本上,我需要获取特定图层的当前索引。例如,我知道图层的名称是“Remove”,并且需要 ThePage!Layers 中的索引,以便我可以相应地设置 LayerMember。索引因页面而异,因此我需要在页面上放置形状后在页面上下文中进行此查找。

如何使用图层名称作为查找索引来查找 ThePage!Layers 中条目的索引。ThePage!Layers.Index["Remove"] 之类的语法不起作用,我在 Microsoft 文档中找不到任何其他信息。

0 投票
2 回答
255 浏览

visio - 主形状在放置时会失去所有属性

我正在尝试在具有动态属性的模具中创建一个形状。当我旋转主形状时,我希望构成主形状的两个形状围绕彼此旋转,同时保持它们自己的方向。这是我正在谈论的图片

垂直位置

对角线位置

我已经通过设置每个形状角度 = GUARD(0 度)来实现这一点,但是当我将形状集合拉入模板然后将其拉回时,所有动态特征都消失了,这两个形状在旋转过程中改变了方向.

谢谢