0

簡単な変換アドインを作成しましたが、残念ながらその動作は Visio のエディション (Visio 2010 Professional と Visio 2010 Premium) によって異なります。アドインは、Stencil_1.vss の形状で作成されたプロセス図を取得し、Stencil_2.vsd の形状でわずかに異なる新しいプロセス図を作成します。Visio ページをループし、作成された各図形に対して、新しいマスター シェイプ (Stencil_2.vsd から) から新しい図形を作成し、それを新しいページにドロップします。ジオメトリ、キャプションなどは同じで、形状の外観のみが変更されています。以下はソース図です。

ソース図

コードを Visio 2010 Professional で実行すると、スイムレーンの形状が正しく描画されます。

Visio 2010 Prof から実行

Visio Premium から同じコードを実行すると、スイムレーンの外観とレイアウトが一致しません。 Visio 2010 Premium から実行

どちらの場合も、同じシェイプ (同じステンシルの「スイムレーン」) を同じコード フラグメントを使用してページにドロップします。

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

コードが常に同じ (正しい) 出力を生成するようにするにはどうすればよいでしょうか? スイムレーン シェイプシートの (プレミアム) 機能を無効にする必要がありますか?

4

2 に答える 2

1

クロスファンクショナル フローチャート シェイプはアドオンによってサポートされているため、シェイプはスイムレーンやページ内などに正しく配置されます。ほとんどのシェイプには、それぞれの機能についてアドオンを呼び出すオン ドロップ イベントがあります。

見てみると、Visio Premium インスタンスでアドオンが正しく呼び出されていません。たとえば、EventDrop セルには関数があります。

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

..ここで、CFF14 は部門横断フローチャート アドオンの 2010 バージョンです。

2010 では、機能横断的なフローチャート ソリューション内でコンテナー シェイプも使用されることに注意してください。正しい 2010 年の「目標」形状を使用していますか?

私の知る限り、機能横断的なフローチャートに関する限り、Professional Edition と Premium Edition の間で機能に違いはないはずです。

于 2012-09-08T09:29:26.007 に答える
0

お時間をいただきありがとうございます!

2010 では、機能横断的なフローチャート ソリューション内でもコンテナー シェイプが使用されていることに注意してください。正しい 2010 年の「目標」形状を使用していますか?

両方の場合の「ターゲット」図形は、部門連係フローチャート ステンシルのスイムレーンです。

別の "Professional" マシンで同じ Add In-code をテストしましたが、成功しました。つまり、"スイムレーン" シェイプが正しく配置され、セパレーターとタイトル セクションがありません。また、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 に答える