1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- Sub 一键加点工具()
- Dim OrigSelection As ShapeRange
- Set OrigSelection = ActiveSelectionRange
- OrigSelection.Copy
-
- ' 新建文件粘贴
- Dim doc1 As Document
- Set doc1 = CreateDocument
- ActiveLayer.Paste
-
- ' 转曲线,一键加粗小红点
- ActiveSelection.ConvertToCurves
- Call get_little_points
- End Sub
- Private Sub get_little_points()
- On Error GoTo ErrorHandler
- '// 代码运行时关闭窗口刷新
- Application.Optimization = True
- ActiveDocument.BeginCommandGroup '一步撤消'
-
- red_point_Size = 0.3
- ActiveDocument.Unit = cdrMillimeter
- Dim OrigSelection As ShapeRange, grp1 As ShapeRange, sh As Shape
- Set OrigSelection = ActiveSelectionRange
- Set grp1 = OrigSelection.UngroupAllEx
- grp1.ApplyUniformFill CreateCMYKColor(50, 0, 0, 0)
-
- For Each sh In grp1
- sh.BreakApartEx
- Next sh
-
- ActiveDocument.ClearSelection
- Dim sr As ShapeRange
- Set sr = ActivePage.Shapes.FindShapes(Query:="@width < {" & red_point_Size & " mm} and @width > {0.1 mm} and @height <{" & red_point_Size & " mm} and @height >{0.1 mm}")
- If sr.Count <> 0 Then
- sr.CreateSelection
- Set sh = ActiveSelection.Group
- sh.Outline.SetProperties 0.03, Color:=CreateCMYKColor(0, 100, 100, 0)
- sr.ApplyUniformFill CreateCMYKColor(0, 100, 100, 0)
- sh.Move 0, 0.015
- Else
- MsgBox "文件中小圆点足够大,不需要加粗!"
- End If
- ActivePage.Shapes.FindShapes(Query:="@colors.find(CMYK(50, 0, 0, 0))").CreateSelection
- ActiveSelection.Group
-
- ActiveDocument.EndCommandGroup
- Application.Optimization = False
- ActiveWindow.Refresh
- Application.Refresh
- Exit Sub
- ErrorHandler:
- MsgBox "选择水洗标要加点部分,然后点击【加点工具】按钮!"
- Application.Optimization = False
- On Error Resume Next
- End Sub
|