Guiboard 发表于 2022-7-7 19:33:40

将表链接到属性

大家好,
 
我想读一个与块属性链接的表。就像一个带有压力、温度、流量的流体表(AutoCAD或Excel)。。。我将链接到属性。我试图在属性中插入一个字段,但我在字段中找到的是诸如颜色/层/列/行之类的属性。。。有人能帮忙吗?
 
导向板

ReMark 发表于 2022-7-7 19:58:11

2009年没有数据提取命令吗?此命令提取数据并将其发送到表或外部文件(如Excel电子表格)。

Guiboard 发表于 2022-7-7 20:13:21

我知道数据提取,它将块属性提取到Excel/AutoCAD表格中。但反过来可能吗?通过字段将表中的数据提取到块中?
 
编辑:我自己找到的!它必须插入一个字段;字段类别-对象//字段名称:公式。有4个按钮:平均/总和/计数/单元格。使用单元格,我可以选择AutoCAD表格单元格。
 
但我还有一个问题,
有没有办法通过Excel表格链接?

divekark 发表于 2022-7-7 20:23:41

你好
 
我也对此感兴趣。
我已经做了一个VBA代码从excel导入数据,可以扩展到所需的目的
 
Sub markdupfromxl()
Dim xlApp As Object
Dim xlFileName As String
Dim getval(), getval1() As String
Dim obj, entRef As AcadBlockReference
Dim instPt() As Double
Dim a, b As Integer
xlFileName = "C:\Documents and Settings\divekark\Desktop\test duplicates.xls"
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlbook = xlApp.workbooks.Open(xlFileName)
Set xlSheet = xlbook.Sheets(1)
a = xlSheet.UsedRange.Rows.Count
ReDim getval(a), getval1(a)
For b = 0 To a - 2
Set myrng = xlSheet.Range("A1")
getval(b) = myrng.Offset(b + 1, 0).Value
getval1(b) = myrng.Offset(b + 1, 1).Value
Set obj = ThisDrawing.HandleToObject(getval(b))
instPt = obj.InsertionPoint
Set entRef = ThisDrawing.ModelSpace.InsertBlock(instPt, "flage2", 1#, 1#, 1#, 0)
   If entRef.HasAttributes Then
       Dim AttList As Variant
       ' Build a list of attributes for the current block.
       AttList = entRef.GetAttributes
       ' Cycle throught the list of attributes.
       For j = LBound(AttList) To UBound(AttList)
         If AttList(j).TagString = "FLAGTEST" Then
               AttList(j).TextString = getval1(b)
         End If
       Next
   End If
Next
xlbook.Close
xlApp.Quit
Set xlbook = Nothing
Set xlSheet = Nothing
ThisDrawing.Activate
End Sub
 
如果你告诉我更多的事情,我可能会帮助你。

Guiboard 发表于 2022-7-7 20:44:23

我在这个论坛上有一个类似的帖子,我得到了答案。
 
http://www.cadtutor.net/forum/showthread.php?53799-通过字段链接表数据
 
感谢VBA例程,但我一直在使用一个附加组件来解决我的问题。
页: [1]
查看完整版本: 将表链接到属性