簡単な変換アドインを作成しましたが、残念ながらその動作は Visio のエディション (Visio 2010 Professional と Visio 2010 Premium) によって異なります。アドインは、Stencil_1.vss の形状で作成されたプロセス図を取得し、Stencil_2.vsd の形状でわずかに異なる新しいプロセス図を作成します。Visio ページをループし、作成された各図形に対して、新しいマスター シェイプ (Stencil_2.vsd から) から新しい図形を作成し、それを新しいページにドロップします。ジオメトリ、キャプションなどは同じで、形状の外観のみが変更されています。以下はソース図です。
コードを Visio 2010 Professional で実行すると、スイムレーンの形状が正しく描画されます。
Visio Premium から同じコードを実行すると、スイムレーンの外観とレイアウトが一致しません。
どちらの場合も、同じシェイプ (同じステンシルの「スイムレーン」) を同じコード フラグメントを使用してページにドロップします。
Visio.Master vm = swimlane_stencil.Masters.get_ItemU(@"Swimlane");
Visio.Shape TargetShape = targetPage.Drop(vm, shape_x, shape_y);
コードが常に同じ (正しい) 出力を生成するようにするにはどうすればよいでしょうか? スイムレーン シェイプシートの (プレミアム) 機能を無効にする必要がありますか?