我没有做过CAD方面的编程,为了帮助同事,首先要解决的问题是能工程图纸中的文本读出来这个问题,所以就注册了一些CAD论坛发帖子问(有的CAD论坛现在都不让注册)。同时自己也在网上搜索和看一些编程资料。参考了一个VBA,自己写了一段代码,但不理想,第二天在《博学论坛》http://www.boxuesky.com有热心网友“wuyunpeng888”(CAD二次开发板块的斑竹)答复了我的这个问题,得到下面这段代码,经过试验,很正常。 在这里,感谢关心本帖的网友。我把它贴出来大家共享,希望大家在技术上别太保守,只有互相交流技术才能更好的突破。 Option Explicit Public cadApp As AcadApplication, cadDoc As AcadDocument Dim ent As AcadEntity Private Sub Command1_Click() On Error Resume Next '连接CAD Set cadApp = GetObject(, "autocad.Application") If Err.Number <> 0 Then Err.Clear Set cadApp = CreateObject("autocad.Application") End If cadApp.Visible = True '打开DWG文件 Set cadDoc = cadApp.Documents.Open("C:\TEST.DWG") ' 安全创建选择集 Dim SSet As AcadSelectionSet Dim fType(0) As Integer, fData(0) As Variant ' 选择集过滤器 Set SSet = cadDoc.SelectionSets.Add("Example") If Err.Number <> 0 Then Err.Clear Set SSet = cadDoc.SelectionSets.Item("Example") SSet.Clear End If fType(0) = 0: fData(0) = "*text" '选择文字并输出 SSet.Select acSelectionSetAll, , , fType, fData If SSet.Count > 0 Then For Each ent In SSet Debug.Print ent.TextString Next End If SSet.Delete '关闭文件 cadDoc.Close False Set SSet = Nothing Set ent = Nothing Set cadDoc = Nothing Set cadApp = Nothing End Sub |