2013-11-21 8 views
0

한 셰이프를 다른 셰이프로 이동하기 위해 매크로를 기록하려고했습니다. 기록 된 매크로는 원래 모양에서만 작동합니다. 셰이프를 다른 레이어로 이동

나는 레이어

Dim myLayer As Visio.Layer 
Set myLayer = Application.ActiveWindow.Page.Layers.Add("Layer1") 
myLayer.Add Application.ActiveWindow.Selection(1), 1 

그러나 나는 또한

Dim myLayer As Visio.Layer 
Set myLayer = Application.ActiveWindow.Page.Layers.Remove("Layer0") 
myLayer.Add Application.ActiveWindow.Selection(1), 1 
Layer0

라는 기존의 층에서 선택한 모양을 제거 할에 선택한 모양을 지정하는 데 사용되는 코드의이 사이트에 예를 발견

.Addd를 .Remove로 대체 할 수는 있었지만 작동하지 않습니다.

답변

0

도움이 있습니다. 내가 요청한 것은 매우 간단했다. 나는 .remove 매개 변수를 잘못된 라인에 넣었다. 수정 된 버전이 이제 작동합니다.

' to add selected ojbect to Layer1 
Dim myLayer As Visio.Layer 
Set myLayer = Application.ActiveWindow.Page.Layers.Add("Layer1") 
myLayer.Add Application.ActiveWindow.Selection(1), 1 


' to remvoe selectec ojbected from Layer0 
Dim RemoveLayer As Visio.Layer 
Set RemoveLayer = Application.ActiveWindow.Page.Layers.Add("Layer0") 
RemoveLayer.remove Application.ActiveWindow.Selection(1), 1 
관련 문제