2

Visio 図形をダブルクリックしてマクロを実行しようとしています。

Shape オブジェクトの ID に応じてマクロで何かを実行できるように、Shape オブジェクトを VBA マクロに渡したいと考えています。

パラメータを VBA マクロに渡すことは可能ですか。はいの場合、方法を教えてください。

ありがとう。

4

2 に答える 2

1

見たい図形の EventDblClick イベントとしてマクロを配置できます。これを行うには、CallThis 関数 ( http://msdn.microsoft.com/en-us/library/aa212649(office.11 ​​).aspx ) を使用して、図形がダブルクリックされるたびにマクロが呼び出されるようにします。

ただし、これには、見たいすべての形状の形状シートを変更する必要があります。監視したい図形のマスターを提供する場合、それは大したことではありませんが、それ以外の場合は、監視したいすべての図形にイベントを追加するコードを記述する必要があります (ただし、ドキュメントで Document_ShapeAdded イベントを使用して、シェイプが追加されるたびにイベントをシェイプシートに追加できます)

于 2008-11-11T15:34:40.600 に答える
1

オブジェクトをクリックすると、Selection変化します。マクロで Selection オブジェクトを使用して、現在選択されているオブジェクトを参照できます。

ダブルクリックでマクロを実行できるかどうかはわかりませんが、私の VBA の経験は Visio から来たものではありません。少しグーグルで調べてみると、これはどういうわけか可能であるように思われます。これを CommandBar の Button として配置すると、コンテキスト メニューでももう少し手間がかかりますが、いずれの場合もパラメーターのない Sub プロシージャに制限されます。

于 2008-11-11T07:08:03.167 に答える