2013-02-20 2 views
0

Visio 2003과 2010에서 다르게 작동하는 매크로가 있습니다. 셰이프를 복사하여 페이지에 붙여넣고 붙여 넣은 셰이프에 대한 포인터를 가져 오려고합니다. 2003 년 그 모양은 페이지의 마지막 모양 (set ShpObj = PagObj.Shapes(PagObj.Shapes.Count)) 일뿐입니다. 그러나 2010 년에는 붙여 넣은 모양이 항상 페이지의 마지막 모양으로 설정되지는 않습니다.Visio VBA 셰이프 붙여 넣기

현재 붙여 넣기 작업 전에 페이지에 모든 고유 한 도형을 로깅 한 다음 붙여 넣기 작업 후 새로운 도형을 식별합니다.

응용 프로그램 ShapeAdded 이벤트를 모니터링 해 보았지만 붙여 넣기 작업에 대해 실행되지 않는 것 같습니다.

붙여 넣은 모양을 선택할 수있는 다른 방법이 있습니까?

답변

1

복사하는 방법은 무엇입니까? 그것은 반환하지 않는 부끄러운 붙여 넣기의

Visio 2010 Page.Paste

Visio 2007 Page.Paste

Visio에 2010 모음 순서에 영향을 수있는 용어 나 위치와 컨테이너 선 행동에 붙여 넣기 작업을 통해 더 많은 컨트롤을 제공 좀 더 열거되었습니다 선택,하지만 모양 및 선택 개체를 각각 반환 Shape.Duplicate 및 Selection.Duplicate 보셨나요?

0

붙여 넣기 작업 전에 새 임시 레이어를 만들고 레이어의 활성 셀을 true로 설정하여 Visio의 레이어 기능을 활용하십시오. 활성을 true로 설정하면 페이지에 추가 된 모든 새로운 도형이이 레이어에 추가됩니다. 그런 다음 붙여 넣기 작업이 완료되면이 레이어의 모든 도형을 가져올 수 있습니다. 정리하기 위해 도형을 삭제하지 않고 임시 레이어를 삭제할 수 있습니다.

0

Visio 2010에서 새로 붙여 넣은 모양 (또는 도형)은 붙여 넣을 때 항상 선택됩니다. 따라서 붙여 넣기 작업 후에 ActiveWindow.Selection 또는 유사하게 새로 붙여 넣은 모양을 얻을 수 있습니다.