0

通常のインターフェイスで選択できる特定の図形を Microsoft Visio で作成するにはどうすればよいですか? 次のようなコードを探していますActivePage.addShape(type: person, 100,100, 50,50)

msdn と visio のヘルプ ドキュメントは、初心者には少し上級者向けのように見えますが、形状を手動で追加し、vba を介して ID を付与する必要がある場合は、理解して再度使用することができます。または、グローバル サブ/クラスを作成してから、名前を付けたオブジェクトを参照する必要がありますか。

4

1 に答える 1

2

必要な機能は Drop と呼ばれます。最初の引数は dropObject で、別の図形、現在選択されている図形、または Visio ステンシルのマスター オブジェクトへの参照にすることができます。

これを試して、どのように機能するかを確認できます。

Dim ShpObj As Visio.Shape
Set ShpObj = ActivePage.Drop(ActiveWindow.Selection, 100, 50)

したがって、ActiveWindow.Selection を使用すると、Visio は選択した図形を複製し、100、50 に配置します。

マスターを取得するには、まずマスターを保持するステンシル ドキュメントを見つける必要があります。次の例では、基本図形ブロック ダイアグラム ステンシルから三角形を配置しています。

Dim ShpObj As Visio.Shape
Set ShpObj = ActivePage.Drop(Application.Documents("BASIC_U.VSS").Masters("Triangle"))

Drop 関数の結果を ShpObj に設定すると、後でコードで参照できるようになります。それ以外の場合は、Page クラスに、ページ内のすべての図形を含む Shapes コレクションがあります。

Visio VBA でのプログラミングの良いスタートになることを願っています。

于 2010-02-15T14:53:33.453 に答える