将形状移动到其他图层

时间:2013-11-21 20:33:15

标签: visio visio-vba

我尝试录制宏来将选定的形状从一个Visio图层移动到另一个Visio图层。 Recorded宏仅适用于原始形状。

我在这个代码网站上找到了一个例子,用于将选定的形状分配给图层

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

但我还想从现有图层中删除所选的形状,称为Layer0

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

我正在跳跃,我可以用.Red替换.Add但这不起作用。

1 个答案:

答案 0 :(得分: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