1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- Sub Shapes_Get_Coordinates()
- '// 建立文件 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
-
- With OrigSelection
- MsgBox "选择物件个数 " & OrigSelection.Count & " 尺寸:" & .SizeWidth & " x " & .SizeHeight
- f.WriteLine ("选择物件个数 " & OrigSelection.Count & " 尺寸:" & .SizeWidth & " x " & .SizeHeight)
-
- lx = OrigSelection.LeftX
- rx = OrigSelection.RightX
- by = OrigSelection.BottomY
- ty = OrigSelection.TopY
-
- f.WriteLine ("选择物件集合坐标范围: " & "(" & lx & "," & by & ") " & "(" & rx & "," & by & ") " _
- & "(" & lx & "," & ty & ") " & "(" & rx & "," & ty & ") ")
- f.WriteLine ("--------- 分割 ---------")
- End With
-
- 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
-
- '// 遍历物件,输出左下-右下-左上-右上四点坐标
- f.WriteLine (cnt & "号物件坐标: " & "(" & lx & "," & by & ") " & "(" & rx & "," & by & ") " _
- & "(" & lx & "," & ty & ") " & "(" & rx & "," & ty & ") ")
- cnt = cnt + 1
- Next Target
-
- f.Close
- '// 代码操作结束恢复窗口刷新
- Application.Optimization = False
- ActiveWindow.Refresh
- Application.Refresh
- End Sub
|