Visio 2003 と 2010 で動作が異なるマクロがあります。図形をコピーしてページに貼り付け、貼り付けた図形へのポインタを取得しようとしています。2003 年には、その形はページの最後の形にすぎません ( set ShpObj = PagObj.Shapes(PagObj.Shapes.Count)
)。ただし、2010 年には、貼り付けられた図形が常にページの最後の図形に設定されているとは限らないようです。
現在、貼り付け操作の前にページ上のすべての一意の形状をログに記録し、貼り付け操作後に新しい形状を識別しています。
アプリケーションの ShapeAdded イベントを監視してみましたが、貼り付け操作では発火しないようです。
貼り付けた形状を拾う方法は他にありますか?