petergh 发表于 2025-5-7 09:48:19

求vba代码对对象在图层的顺序重排

本帖最后由 petergh 于 2025-5-7 09:51 编辑

初学vba,请高手支招,谢谢!


有1、2、3、4、5、6、7个对象,视觉上是从左到右按顺序排列的,但是创建顺序不同。
如图,用VBA代码如何能按视顺序重排对象在图层上的顺序?

data:image/png;base64,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

xiyanghxc 发表于 2025-5-7 11:01:01

可以试试deepseek。也曾经试着做个动作,要求是把图层顺序自上而下对应着工作区中对象自左到右的、自上到下。可惜一直没实现

苍穹之翼 发表于 2025-5-7 12:56:15

xiyanghxc 发表于 2025-5-7 11:01
可以试试deepseek。也曾经试着做个动作,要求是把图层顺序自上而下对应着工作区中对象自左到右的、自上到下 ...

可以,你的思路很对了但是可能缺少做程序的基础把,我也有这种想法,可能ai给你东西了但是还需要加以调试:lol

xiyanghxc 发表于 2025-5-7 13:37:39

苍穹之翼 发表于 2025-5-7 12:56
可以,你的思路很对了但是可能缺少做程序的基础把,我也有这种想法,可能ai给你东西了但是还需要加以调试 ...

deepseek出来的代码只能作为参考,具体还是要表达准确,按问题提示进行一步步排查、最终调试正常为止。

夜的影子 发表于 2025-5-7 14:44:01

碰巧我也刚研究这个代码,不知道你是用什么属性进行排序的。
总不能用内容排序吧?

我用的是颜色排序,关键代码:Shapes(I).OrderToBack‘移动到最下方,你也可以用移动到最上方Shapes(I).OrderToFront

这是我的代码:
Sub 按颜色排序()
    VGCore.ActiveDocument.BeginCommandGroup "宏操作"
    Dim userSelect As VGCore.ShapeRange
    Set userSelect = VGCore.ActiveSelectionRange
   'PrintShapesName userSelect.Shapes
    userSelect.Sort "@shape1.fill.color.com().HexValue>@shape2.fill.color.com().HexValue"
    Dim S1 As VGCore.Shape
    Set S1 = userSelect.Shapes(userSelect.Count)
   
    For I = 1 To userSelect.Count
      userSelect.Shapes(I).OrderToBack
    Next
    VGCore.ActiveDocument.EndCommandGroup
End Sub

xiyanghxc 发表于 2025-5-7 15:35:27

夜的影子 发表于 2025-5-7 14:44
碰巧我也刚研究这个代码,不知道你是用什么属性进行排序的。
总不能用内容排序吧?



刚刚用这段代码到2024版本里,运行异常,
不知道用到哪个版本上可以正常


夜的影子 发表于 2025-5-7 15:43:12

先选中要排序的全部对象,然后运行代码。

夜的影子 发表于 2025-5-7 15:47:31

排序前:


选中所有需要排序的对象。

排序后:

petergh 发表于 2025-5-7 16:05:10

xiyanghxc 发表于 2025-5-7 13:37
deepseek出来的代码只能作为参考,具体还是要表达准确,按问题提示进行一步步排查、最终调试正常为止。 ...

我也求教deepseek,但是因为我基础差,总是试不成功。
以下是deepseek给出的代码:
Sub SortSelectionOrder()
    ' 按坐标排序后,调整ActiveSelection的顺序(其他程序可通过此顺序读取)
    Dim arr(), i&, j&, s As Shape
    ReDim arr(1 To ActiveSelection.Shapes.Count, 1 To 3)
   
    ' 提取坐标和对象
    i = 1
    For Each s In ActiveSelection.Shapes
      arr(i, 1) = s.PositionY' Y优先(从上到下)
      arr(i, 2) = s.PositionX' X其次(从左到右)
      Set arr(i, 3) = s         ' 对象引用
      i = i + 1
    Next
   
    ' 冒泡排序
    For i = 1 To UBound(arr) - 1
      For j = i + 1 To UBound(arr)
            If (arr(j, 1) < arr(i, 1)) Or _
               (arr(j, 1) = arr(i, 1) And arr(j, 2) < arr(i, 2)) Then
                Swap arr, i, j
            End If
      Next
    Next
   
    ' 输出排序后的对象顺序(供其他程序使用)
    For i = 1 To UBound(arr)
      Debug.Print "顺序" & i & ": " & arr(i, 3).Name
    Next
End Sub

Sub Swap(arr, i, j)
    Dim temp(1 To 3)
    temp(1) = arr(i, 1): temp(2) = arr(i, 2): Set temp(3) = arr(i, 3)
    arr(i, 1) = arr(j, 1): arr(i, 2) = arr(j, 2): Set arr(i, 3) = arr(j, 3)
    arr(j, 1) = temp(1): arr(j, 2) = temp(2): Set arr(j, 3) = temp(3)
End Sub

petergh 发表于 2025-5-7 16:40:52

在deepseek的帮助下,以下程序可以实现从左到右重排。
Sub SortLeftToRight()
    ' 1. 检查选择
    If ActiveSelection.Shapes.Count = 0 Then Exit Sub
   
    ' 2. 将对象存入数组
    Dim arr() As Shape, i As Long, j As Long
    ReDim arr(1 To ActiveSelection.Shapes.Count)
    i = 1
    For Each s In ActiveSelection.Shapes
      Set arr(i) = s
      i = i + 1
    Next
   
    ' 3. 按X坐标冒泡排序(从左到右)
    For i = 1 To UBound(arr) - 1
      For j = i + 1 To UBound(arr)
            If arr(j).PositionX < arr(i).PositionX Then
                Swap arr, i, j
            End If
      Next
    Next
   
    ' 4. 打印排序结果(验证用)
    For i = 1 To UBound(arr)
      Debug.Print "对象 " & i & ": X=" & arr(i).PositionX & " (" & arr(i).Name & ")"
      set sh=arr(i)
      sh.delete
    Next
   
    MsgBox "已按从左到右顺序排序 " & UBound(arr) & " 个对象"
End Sub

' 交换数组元素
Sub Swap(arr() As Shape, i As Long, j As Long)
    Dim temp As Shape
    Set temp = arr(i)
    Set arr(i) = arr(j)
    Set arr(j) = temp
End Sub
页: [1] 2
查看完整版本: 求vba代码对对象在图层的顺序重排