- Sub ll()
- ThisDrawing.ActiveTextStyle.fontFile = "c:\windows\fonts\SIMHEI.TTF"
- Dim xlsSheet As Worksheet
- Set xlsSheet = ReturnXlsSheet(1)
- xlsSheet.Range("a:z").ClearContents
-
-
- Dim LineData As AcadLine, ArcData As AcadArc
- Dim DrawingText As AcadText, DrawingCircle As AcadCircle
- Close #1
- Open "D:\ls.txt" For Output As #1
-
- Write #1, "m1", "m2", "m3", "m4", "m5", "m6", "m7", "m8", "m9", "m10", "m11", "m12"
-
- Dim Ent As AcadEntity
- 'Debug.Print ThisDrawing.ModelSpace.Count
- For ii = 1 To ThisDrawing.ModelSpace.Count
- 'm1 = Ent.ObjectName
- Set Ent = ThisDrawing.ModelSpace.Item(ii - 1)
- Debug.Print ii, Ent.ObjectName, Ent.Handle
- m2 = Ent.ObjectID
- Select Case Ent.ObjectName
- Case "AcDbLine"
- Set LineData = Ent
- With LineData
- 'Set DrawingCircle = ThisDrawing.ModelSpace.AddCircle(.StartPoint, 35)
- m1 = "第" & ii & "点"
- If ii = 1 Then
- m3 = Round(.StartPoint(0), 2)
- m4 = Round(.StartPoint(1), 2)
- Else
- m3 = "=c" & ii - 1 & "+ i" & ii - 1
- m4 = "=d" & ii - 1 & "+ j" & ii - 1
- End If
- m5 = Round(.StartPoint(2), 2)
- 'm6 = Round(.EndPoint(0), 2)
- If ii = ThisDrawing.ModelSpace.Count Then
- m6 = "=c1"
- m7 = "=d1"
- Else
- m6 = "=c" & ii & "+ i" & ii
- 'm7 = Round(.EndPoint(1), 2)
- m7 = "=d" & ii & "+ j" & ii
-
- End If
- m8 = Round(.EndPoint(2), 2)
- m9 = .Delta(0)
- m10 = .Delta(1)
- m11 = .Delta(2)
- ttt = "第" & ii & "点 " & "(" & m3 & "," & m4 & ")"
-
- 'Set DrawingText = ThisDrawing.ModelSpace.AddText(ttt, .EndPoint, 10)
- With DrawingText
- ' .Alignment = acAlignmentMiddleCenter
- ' .TextAlignmentPoint = LineData.StartPoint
-
- 'ii = ii + 1
- End With
-
- End With
- End Select
- Write #1, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11 ', m12
-
- With xlsSheet
- .Cells(ii, 1) = m1
- .Cells(ii, 2) = m2
- .Cells(ii, 3) = m3
- .Cells(ii, 4) = m4
- .Cells(ii, 5) = m5
- .Cells(ii, 6) = m6
- .Cells(ii, 7) = m7
- .Cells(ii, 8) = m8
- .Cells(ii, 9) = m9
- .Cells(ii, 10) = m10
- .Cells(ii, 11) = m11
- End With
- Next ii
-
- Close #1
- End SubFunction ReturnXlsSheet(InputSheetNum As Integer) As Worksheet
- Dim xlApp As Object ' This Line ,Not set Excel , run Excel
- ' 发生错误时跳到下一个语句继续执行
- On Error Resume Next
- ' 连接Excel应用程序
- Set xlApp = GetObject(, "Excel.Application")
-
- If Err.Number 0 Then
- Set xlApp = CreateObject("Excel.Application")
- xlApp.Visible = True
- xlApp.Workbooks.Add
- End If
- ' 返回当前活动的工作表
- Set ReturnXlsSheet = xlApp.Sheets(InputSheetNum)
- End Function
- Sub gggg()
- Dim xlsSheet As Worksheet
- Set xlsSheet = ReturnXlsSheet(1)
- Dim pp(0 To 2) As Double, ppp(0 To 2) As Double
- Dim ll As AcadLine
- For ii = 1 To 8
- For jj = 0 To 2
- pp(jj) = xlsSheet.Cells(ii, jj + 3)
- ppp(jj) = xlsSheet.Cells(ii, jj + 6)
- Next jj
- Set ll = ThisDrawing.ModelSpace.AddLine(pp, ppp)
- ll.color = ii
- Next ii
-
- End Sub
- Sub ls()
- Dim xlsSheet As Worksheet
- Set xlsSheet = ReturnXlsSheet(1)
- xlsSheet.Range("a:z").ClearContents
-
- Dim EntCount As Integer
- Dim Ent As AcadEntity, lineObj As AcadLine
- EntCount = ThisDrawing.ModelSpace.Count