0

I have built a simple conversion Add In, but its behavior is unfortunately different with the different Visio Editions (Visio 2010 Professional and Visio 2010 Premium). The Add In takes a Process-Diagram created with Shapes from Stencil_1.vss and creates a new slightly different Process-Diagram with Shapes from Stencil_2.vsd. It loops through a Visio page and for each shape founded creates a new shapes from new master shape (from Stencil_2.vsd) and drop it into the new page. Geometry, captions etc. are the same, only the shape-appearance is changed. Below is the source diagram:

the source diagram

When I run the code into Visio 2010 Professional the swimlane shapes are drawn correctly.

run from Visio 2010 Prof

When I run the same code from Visio Premium the swimlane appearance and layout are mismatched: run from Visio 2010 Premium

Both times i drop the SAME Shape("Swimlane" from the same stencil) into the Page with the SAME Code fragment:

Visio.Master vm = swimlane_stencil.Masters.get_ItemU(@"Swimlane");
Visio.Shape TargetShape = targetPage.Drop(vm, shape_x, shape_y);

How could I ensure, that the code produces any time the same (correct) output? Must I disable any (premium)features in the swimlane-shapesheet?

4

2 回答 2

1

跨功能流程图形状由插件支持,以便形状在泳道和页面等中正确定位。大多数形状都有一个放置事件,该事件调用插件以实现其各自的功能。

从外观上看,插件没有在您的 Visio Premium 实例中正确调用。例如,EventDrop 单元格中有一个函数:

=RUNADDONWARGS("CFF14","/cmd=20001")

..其中 CFF14 是跨功能流程图插件的 2010 版本。

请记住,2010 还在跨职能流程图解决方案中使用容器形状。您使用的是正确的 2010 年“目标”形状吗?

据我所知,就跨功能流程图而言,专业版和高级版之间的功能应该没有区别。

于 2012-09-08T09:29:26.007 回答
0

感谢您的时间!

请记住,2010 还在跨职能流程图解决方案中使用容器形状。您使用的是正确的 2010 年“目标”形状吗?

两种情况下的“目标”形状都是跨职能流程图模具中的泳道。

我在另一台“专业”机器上测试了相同的添加代码,它是成功的,我的意思是“泳道”形状定位正确,没有分隔符和标题部分。我还卸载并再次安装了 Premium 实例,没有任何改变,相同的代码生成上面绘制的相同图表。泳道 PinX 已更改,并添加了分隔符和标题部分。

  • 我注意到,在“错误的图表”中,只有第一个下降的泳道形状是正确的
  • 以下(后来删除)泳道位置错误,添加了分隔符和标题栏。它们有:User.msvShapeCategories=" CFF Container ;DoNotContain",正确的泳道形状有:User.msvShapeCategories=" Swimlane ;DoNotContain"
  • 我还注意到,错误的泳道源自 xfunc_m.vss ( User.visMasterStencil = " xfunc_m.vss ")
  • 我从 User.visMasterStencil 单元中删除值“xfunc_m.vss”并更新模板

现在它工作正常,我希望这个解释对其他人有用,有人可以比我更好地解释这种行为:)

于 2012-09-10T12:59:44.753 回答