zoukankan      html  css  js  c++  java
  • CoreDraw的几个VBA代码

    Sub SaveTextOnly() '备份文本
        Dim p As Page
        Dim nPos As Long
        Dim strName As String
        Dim srAllShapes As New ShapeRange
       
        For Each p In ActiveDocument.Pages
            srAllShapes.AddRange p.Shapes.FindShapes() 'Add each shape to our ShapeRange
        Next p
       
        srAllShapes.RemoveRange srAllShapes.FindAnyOfType(cdrGroupShape, cdrTextShape) 'Remove any groups and Text Objects
        srAllShapes.Delete 'Delete the ShapeRange now contaning all shapes but Text
       
        'Get the FileName of the ActiveDocument
        strName = ActiveDocument.FileName
        nPos = InStrRev(strName, ".")
        If nPos > 0 Then strName = Left(strName, nPos - 1)
        strName = ActiveDocument.FilePath & strName & " - Text Backup.cdr" 'New name for Document
       
        ActiveDocument.SaveAs strName 'Save the Document with new name
    End Sub

    Sub s删外框改尺寸()
    Dim d As Document
    Dim p As Page
    Dim s As Shape
    For Each d In Documents
    d.Unit = cdrMillimeter
    d.ReferencePoint = cdrCenter
    d.MasterPage.GuidesLayer.Shapes.All.Delete
        For Each p In d.Pages
          For Each s In p.Shapes.FindShapes(, cdrCurveShape)
          If s.SizeHeight > 235 Then
          s.Delete
          End If
          Next s
    p.Shapes.All.SetSize 170, 240
    p.Shapes.All.Group
    p.Shapes.All.AlignToPageCenter cdrAlignVCenter + cdrAlignHCenter
    p.Shapes.All.Ungroup
       Next p
    Next d
    End Sub
    Sub fgym() '分割页面中所有图像
        On Error GoTo 10
        Dim s1 As Shape, s2 As Shape, p As Page
        For Each p In ActiveDocument.Pages
            Set s1 = p.Shapes.FindShapes(, cdrBitmapShape).Group
            '设置一个容器
            Set s2 = p.ActiveLayer.CreateGridBoxes(0, p.SizeHeight, p.SizeWidth, 0, 2, 1)
            s2.Fill.ApplyNoFill
            s2.Outline.Width = 0
            s1.AddToPowerClip s2, cdrFalse
            s2.OrderToBack
            s2.Ungroup
        Next p
    10 End Sub
    Sub tr选框删物()
    Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double
    Dim Shift As Long
    Dim b As Boolean
    Dim s As Shape, os As Shape, ts As Shape, s1 As Shape
    Dim cr As Long, cg As Long, cb As Long
    ActiveDocument.BeginCommandGroup "置入容器做修剪" '设定还原步骤

    b = ActiveDocument.GetUserArea(x1, y1, x2, y2, Shift, 10, False, 428)
        If Not b Then
            ActivePage.SelectShapesFromRectangle x1, y1, x2, y2, True
            Set s = ActiveSelection.Group
            Set os = ActiveSelection.CustomCommand("Boundary", "CreateBoundary")
                os.Outline.Width = 0
            Set ts = ActiveDocument.ActiveLayer.CreateRectangle(x1, y1, x2, y2)
            Set s1 = ts.Trim(os, True, True)
                ts.Delete
                os.Delete
                s.AddToPowerClip s1, cdrFalse
                SendKeys "{ESC}", True
       End If
    ActiveDocument.EndCommandGroup
    End Sub
    Sub bmptrace把图片转成矢量图()
    Dim b As Bitmap
    Dim trace As TraceSettings
    On Error Resume Next
    If ActiveShape.Type <> cdrBitmapShape Or ActiveSelection.Shapes.Count <> 1 Then
    MsgBox "请先选择一个要转成矢量的点阵图": Exit Sub
    End If
    Set b = ActiveShape.Bitmap
    Set trace = b.trace(cdrTraceClipart, RemoveBackground:=False)

            trace.Finish
    End Sub
  • 相关阅读:
    洛谷P2569 (BZOJ1855)[SCOI2010]股票交易 【单调队列优化DP】
    洛谷 P2254 [NOI2005]瑰丽华尔兹(单调栈优化DP)
    CF372C Watching Fireworks is Fun(单调队列优化DP)
    2019牛客全国多校第八场A题 All-one Matrices(单调栈)
    HDU3896 Greatest TC(双联通分量+倍增)
    2019牛客多校第7场
    ZOJ 2112 Dynamic Rankings(树状数组+主席树)
    2019 杭电多校第六场 题解
    HDU2242 考研路茫茫——空调教室 (双联通分+树形DP)
    HDU5536 Chip Factory
  • 原文地址:https://www.cnblogs.com/top5/p/1591522.html
Copyright © 2011-2022 走看看