QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: petergh
收起左侧

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

[复制链接]
累计签到:1662 天
连续签到:1171 天
发表于 4 天前 | 显示全部楼层
本帖最后由 xiyanghxc 于 2025-5-7 18:12 编辑

下面这个生成的代码没反应,不知是哪里问题?
求vba代码对对象在图层的顺序重排{tag}(1) 测试文件.rar (11.8 KB)
以下是为 CorelDRAW 2024 编写的 VBA 宏,
用于按对象从左到右的顺序调整其叠放顺序(Z顺序),
确保最左侧的对象位于最上层:

vba
Sub ArrangeObjectsByLeftPosition()
    Dim pg As Page
    Dim sh As Shape
    Dim shapeList() As Shape
    Dim i As Long, j As Long
    Dim tempSh As Shape
   
    ' 检查当前页面
    Set pg = ActivePage
    If pg.Shapes.Count = 0 Then Exit Sub
   
    ' 收集所有对象到数组
    ReDim shapeList(1 To pg.Shapes.Count)
    i = 0
    For Each sh In pg.Shapes
        i = i + 1
        Set shapeList(i) = sh
    Next
   
    ' 冒泡排序(按X坐标升序)
    For i = 1 To UBound(shapeList) - 1
        For j = i + 1 To UBound(shapeList)
            If shapeList(i).Left > shapeList(j).Left Then
                Set tempSh = shapeList(i)
                Set shapeList(i) = shapeList(j)
                Set shapeList(j) = tempSh
            End If
        Next j
    Next i
   
    ' 从右到左调整Z顺序(最后处理最左侧对象)
    For i = UBound(shapeList) To 1 Step -1
        shapeList(i).OrderToFront
        DoEvents
    Next i
   
    MsgBox "已完成对象排序!最左侧对象现在位于最上层。", vbInformation
End Sub
回复 支持 反对 送花

使用道具 举报

累计签到:275 天
连续签到:35 天
 楼主| 发表于 4 天前 | 显示全部楼层
本帖最后由 petergh 于 2025-5-7 21:31 编辑
xiyanghxc 发表于 2025-5-7 18:09
下面这个生成的代码没反应,不知是哪里问题?

以下是为 CorelDRAW 2024 编写的 VBA 宏,

这段程序应该只是把对象存在数组,然后做了一个逻辑排序,没有输出什么信息。
回复 支持 反对 送花

使用道具 举报

累计签到:11 天
连续签到:2 天
发表于 3 天前 | 显示全部楼层

Sub 按左边排序()
    VGCore.ActiveDocument.BeginCommandGroup "按左边排序"
    Dim userSelect As VGCore.ShapeRange
    Set userSelect = VGCore.ActiveSelectionRange
   'PrintShapesName userSelect.Shapes
    userSelect.Sort "@shape1.com().LeftX>@shape2.com().LeftX"  ’重点在这一句,如果换成TopY就是顶端、BottomY就是底端、RightX是右边、PositionX是中心。
    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
回复 支持 反对 送花

使用道具 举报

累计签到:645 天
连续签到:1 天
发表于 3 天前 | 显示全部楼层
这个有啥作用来的。
回复 支持 反对 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

注意注意注意:必看上一条 /1 下一条

华印网 - 华印社区
Share More 周一至周日:09:00 - 21:00
华印网旗下的设计印刷制作类专业技术站点
请勿发布违反国家法律法规的内容,会员观点不代表本站立场
企鹅群号:119572101

华印网汇集印前印后技术、PDF拼版、防伪包装、数码印刷、合版印刷、图文设计、平面设计、数码印刷及CTP等最新印刷技术,提供软件汉化、插件汉化、cdr插件、ai插件、ps插件、pdf插件、印刷流程、ctp输出、印刷软件、印能捷、esko、CorelDRAW、InDesign、Illustrator、CTP、CDR以及PDF软件下载的综合性印刷论坛社区!

Powered by Discuz! X3.4 © 2001-2021,Tencent Cloud.

站点地图|小黑屋|手机版|Archiver|华印 ( 粤ICP备19020152号-1 )

GMT+8, 2025-5-11 09:31 , Processed in 0.037480 second(s), 23 queries , Gzip On, Yac On.

快速回复 返回顶部 返回列表