一下是一位兄台在画坐标时公开的“全组”代码,小弟修改了一下,把它独立出来成为“全部组合的”代码,现有两点疑问:1.我还是不大理解with endwith的用法,能否解释一下 2.测试时,在文档中如果有同名(自己修改名称后再复制多个)的图形,这段代码会漏掉其中同名的一个或几个,所以要按多次才成功,能否修改一下,无论是否同名,都能一下组合成功。先在这里谢过。 Sub 全部组合() On Error GoTo wu Dim AllShapes(), ShapeCount As Integer, n As Shape, y As Integer ShapeCount = ActiveDocument.Shapes.Count y = 0 '定义一维上标可变数组,从0开始 ReDim AllShapes(ShapeCount - BeforeShapes - 1) With ActiveDocument For Each n In .Shapes If n.Name Like "已有图形*" = False Then AllShapes(y) = n.Name y = y + 1 End If Next n If y = 1 Then MsgBox "文档中只有一个图形,不可组合!", vbInformation, "敬告用户" End If With .Shapes.Range(AllShapes).Group .ZOrder msoSendToBack .Select ' End With End With wu: Err = Err.Number If Err = 9 Then MsgBox "该文档中没有图形或文本框 " & Chr(13) & Chr(13) & " 不能完成全组!", vbInformation, "敬告用户" End If End Sub
jyKa5OXV.rar
(8.29 KB, 下载次数: 14)
[此贴子已经被作者于2007-5-14 18:20:23编辑过] |