QQ登录

只需一步,快速开始

查看: 8546|回复: 2
收起左侧

分享一下收集整理并测试成功的代码,小功能

[复制链接]
累计签到:1122 天
连续签到:14 天
发表于 2018-9-26 13:01:00 | 显示全部楼层 |阅读模式
       使用cd的高手都知道,魔镜是它的超级伴侣,功能很多,也非常的实用,经常使用的人建议使用,提高工作效率。本人在使用的过程中,也很满意。所以对宏也很感兴趣,于是在百度中苦苦搜索,整理,测试,做出了以下几个有点实用功能的小代码,希望学习宏代码的朋友有所帮助。


Attribute VB_Name = "RecordedMacros"

Sub 复制到所有页面()
    Dim p As Page
    Dim Org As ShapeRange
    Dim Cname As String


     If ActiveSelection.Shapes.Count = 0 Then
         pp = MsgBox("没有选择任何对象,请选择至少一个对象!", vbExclamation + vbdefaultbuttonl, "错误提示")
         Exit Sub
    End If

    Cname = InputBox("输入名称", "名称", Default)
    If Cname = "" Then Exit Sub

    Set Org = ActiveSelectionRange
    Org.Copy
    ActiveLayer.Paste

        If ActiveSelection.Shapes.Item(1).Type = CDRGroupShape Then
    Org.Ungroup
    End If

        For I = 1 To ActiveSelectionRange.Count
          Org(I).ObjectData("Name").Value = Cname
        Next I
        Org.Cut


      For Each p In ActiveDocument.Pages   '在各页中循环
           p.Activate
           ActiveLayer.Paste
           Set Paste1 = ActiveSelectionRange

       Next p


End Sub


Sub 给选择的对象命名()
    ' Recorded 2015/10/6
    Dim OrigSelection As ShapeRange
    Dim I As Integer
    Dim Cname As String

    If ActiveSelection.Shapes.Count = 0 Then
         pp = MsgBox("没有选择任何对象,请选择至少一个对象!", vbExclamation + vbdefaultbuttonl, "错误提示")
         Exit Sub
    End If

    Cname = InputBox("输入名称", "名称", Default)
    If Cname = "" Then Exit Sub
    Set OrigSelection = ActiveSelectionRange
        For I = 1 To ActiveSelectionRange.Count
    OrigSelection(I).ObjectData("Name").Value = Cname

   Next I

End Sub


Sub 删除指定的名称对象()
    Dim p As Page
    Dim Cname As String
    Cname = InputBox("想删除哪个对象名", "名称", Default)
    If Cname = "" Then Exit Sub

        For Each p In ActiveDocument.Pages   '在各页中循环
                ' p.Activate

        p.Shapes.FindShapes(Cname).Delete  '把筛选出来的对象全部删除
        Next p

End Sub


Sub 每页同名对象群组()
    Dim p As Page
    Dim Org As ShapeRange
    Dim Cname As String
    Cname = InputBox("想全选对象的对象名", "名称", Default)
    If Cname = "" Then Exit Sub
        For Each p In ActiveDocument.Pages   '在各页中循环
         p.Activate
        p.Shapes.FindShapes(Cname).AddToSelection   '把筛选出来的对象全部选中

           Set Org = ActiveSelectionRange
           Org.Group
              '   For I = 1 To ActiveSelectionRange.Count '针对选择的全部对象进行处理


              ' Org(I).ApplyEffectHSL -103, 0, 0  '改变对象的色相
              '  Next I


        Next p

End Sub


Sub 复制旋转()
    ' Recorded 2015/10/11
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    Dim dup1 As ShapeRange
    Set dup1 = OrigSelection.Duplicate
    Set dup1 = ActiveSelectionRange
    ActiveDocument.ReferencePoint = cdrCenter
    dup1.Stretch 0.9
    dup1.Rotate -10#
End Sub


评分

参与人数 1印币 +15 收起 理由
金帛 + 15 感谢分享优秀资源,华印有你更精彩!

查看全部评分

华印网相关搜索

累计签到:259 天
连续签到:30 天
发表于 2018-9-27 08:57:03 | 显示全部楼层
我也满喜欢VBA的,要是有个交流群多好。{:1_143:}
回复 支持 反对 送花

使用道具 举报

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

本版积分规则

关闭

注意注意注意:必看上一条 /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, 2024-11-23 10:29 , Processed in 0.028025 second(s), 20 queries , Gzip On, Yac On.

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