我构建了一个简单的转换Add In,但其行为与不同的Visio版本(Visio 2010 Professional和Visio 2010 Premium)不同。 Add In接受一个用Stencil_1.vss中的Shapes创建的Process-Diagram,并用Stencil_2.vsd中的Shapes创建一个新的略有不同的Process-Diagram。它通过一个Visio页面循环,并为每个形状创建一个新的形状从新的主形状(从Stencil_2.vsd),并将其放入新页面。几何,字幕等都是一样的,只有形状外观改变了。下面是源图:当我运行的代码为Visio 2010专业泳道形状绘制正确相同的C#代码在Visio Professional和Premium中产生不同的输出
。
当我运行从Visio高级相同的代码的泳道的外观和布局不匹配:
这两次I(来自相同的模版“泳道”)下降相同的形状进带有SAME代码片段的页面:
Visio.Master vm = swimlane_stencil.Masters.get_ItemU(@"Swimlane");
Visio.Shape TargetShape = targetPage.Drop(vm, shape_x, shape_y);
如何确保代码在任何时间产生相同(正确)的输出?我必须禁用泳道形状表中的任何(高级)功能吗?