Private Sub getData()
'获取 dwg 中,名字为 D 或 M 开头的标注点位置。
'MsgBox ThisDrawing.Utility.get .GetString("D222")
Dim varData As Variant
Dim oName As Variant
Dim txt As AcadText
Dim ss As String
Dim idx As Integer
Dim i As Integer
On Error GoTo ErrorHandler
'varData = ThisDrawing
'varData = ThisDrawing.ModelSpace
varData = ThisDrawing.ModelSpace.Item(1).ObjectName
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("D:\fsti\地市部署\新设备\福州\福州联网_0308\福州联网\琴亭\位置点.txt", True)
For i = 0 To ThisDrawing.ModelSpace.Count - 1 Step 1
idx = i
oName = ThisDrawing.ModelSpace.Item(i).ObjectName
If oName = "AcDbText" Then
Set txt = ThisDrawing.ModelSpace.Item(i)
ss = Str(txt.insertionPoint(0))
ss = ThisDrawing.ModelSpace.Item(i).textString
If Left(ss, 1) = "D" Or Left(ss, 1) = "M" Then
'MsgBox ss & Str(txt.insertionPoint(0))
'Exit For
a.WriteLine (ss & " " & Str(txt.insertionPoint(0)) & " " & Str(txt.insertionPoint(1)))
End If
End If
Next i
a.Close
'MsgBox varData
ErrorHandler: ' 错误处理程序。
If Err.Number <> 0 Then
MsgBox Str(idx) & ": Err.Number:" & Str(Err.Number) & ": Err.Description:" & Err.Description
End If
'Resume ' 将控制返回到产生错误的语句。
Exit Sub
End Sub
获取 dwg 中,名字为 D 或 M 开头的标注点位置。
最新推荐文章于 2019-08-21 12:38:56 发布