- 积分
- 1952
- 明经币
- 个
- 注册时间
- 2012-9-5
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2012-9-24 18:00:54
|
显示全部楼层
33楼代码有点小问题,现传上新代码: - Sub aa()
- Dim arr()
- Dim xls As Excel.Application
- Set xls = New Excel.Application
- Dim s As AcadText
- Dim str As String
- Dim returnPnt As Variant
- Dim mt As AcadMText
- Dim ss As AcadSelectionSet
- Set ss = ThisDrawing.SelectionSets.Add(Rnd() & "ffdfdfd")
- Dim gpCode(0) As Integer
- Dim dataValue(0) As Variant
- gpCode(0) = 0
- dataValue(0) = "text"
- ss.SelectOnScreen gpCode, dataValue
- s1 = UCase(InputBox("赋最大值给:"))
- s2 = UCase(InputBox("赋第二大值给:"))
- s3 = UCase(InputBox("赋第三大值给:"))
- For i = 1 To ss.Count
- Set s = ss(i - 1)
- If IsNumeric(s.TextString) Then
- cnt = cnt + 1
- ReDim Preserve arr(1 To cnt)
- arr(cnt) = --s.TextString
- End If
- Next
- max1 = xls.Large(arr, 1) + xls.Large(arr, 6)
- max2 = xls.Large(arr, 2) + xls.Large(arr, 5)
- max3 = xls.Large(arr, 3) + xls.Large(arr, 4)
- brr = Array(max1, max2, max3)
- On Error Resume Next
- For i = 7 To UBound(arr) Step 3
- imax1 = 0
- imax2 = 0
- imax3 = 0
- For j = 1 To 3
- If brr(j - 1) >= max3 Then imax3 = imax3 + 1
- If brr(j - 1) >= max2 Then imax2 = imax2 + 1
- If brr(j - 1) >= max1 Then imax1 = imax1 + 1
- Next
- max3 = max3 + xls.Large(arr, 3 - imax3 + i)
- max2 = max2 + xls.Large(arr, (3 - imax2) + i)
- max1 = max1 + xls.Large(arr, 3 - imax1 + i)
- brr = Array(max1, max2, max3)
- Next
- str = s1 & "的和:" & max1 & Chr(10) & s2 & "的和:" & max2 & Chr(10) & s3 & "的和:" & max3
- returnPnt = ThisDrawing.Utility.GetPoint(, "请点击获取插入点")
- Set mt = ThisDrawing.ModelSpace.AddMText(returnPnt, 5000, str)
- mt.Height = 300
- End Sub
|
|