12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- Sub Shapes_Border()
- '// 建立文件 testfile.txt 输出物件坐标信息
- Set fs = CreateObject("Scripting.FileSystemObject")
- Set f = fs.CreateTextFile("R:\testfile.txt", True)
-
- ActiveDocument.Unit = cdrMillimeter
- Dim OrigSelection As ShapeRange
- Set OrigSelection = ActiveSelectionRange
-
- '// 代码运行时关闭窗口刷新
- Application.Optimization = True
-
- ' 当前选择物件的范围边界
- set_lx = OrigSelection.LeftX
- set_rx = OrigSelection.RightX
- set_by = OrigSelection.BottomY
- set_ty = OrigSelection.TopY
- set_cx = OrigSelection.CenterX
- set_cy = OrigSelection.CenterY
- radius = 20
-
- Dim s1 As Shape
- cnt = 1
- For Each Target In OrigSelection
- Set s1 = Target
- lx = s1.LeftX
- rx = s1.RightX
- by = s1.BottomY
- ty = s1.TopY
-
- If Abs(set_lx - lx) < radius Or Abs(set_rx - rx) < radius Or Abs(set_by - by) _
- < radius Or Abs(set_ty - ty) < radius Then
-
- '// 遍历物件,输出左下-右下-左上-右上四点坐标
- f.WriteLine (cnt & "号物件修改颜色: 绿色")
- s1.Fill.UniformColor.CMYKAssign 60, 0, 100, 0
- End If
- cnt = cnt + 1
- Next Target
-
- f.Close
- '// 代码操作结束恢复窗口刷新
- Application.Optimization = False
- ActiveWindow.Refresh
- Application.Refresh
- End Sub
|