求助,程序运行速度慢,求帮助改进
说明:利用cad宏提取水深数据(x,y,h),程序可以运行,能提取出数据,但是运行时间长,直接卡死,需用任务管理器退出,无法确认什么时候运行结束,各位高手帮帮忙程序从当前视图提取水深,结果保存在d盘mmm.xis中
给你个建议,不用Excel,可以存成固定格式的文本文件,使用文件时,用Excel打开。或者用Excel打开后,再存成xls格式的. 直接保存为CSV文件比较方便而且速度很快,坐标数数据用逗号分隔开,Excel可以直接打开CSV文件,你程序中是不停地在CAD与Excel中间传递数据,这个过程是很耗时的哦。
For Each obj_text In selectionset
For i = 0 To itemcount - 1
Set obj_text = selectionset.Item(i)
wksheet.Cells(i + 1, 1).Value = obj_text.insertionPoint(0)
wksheet.Cells(i + 1, 2).Value = obj_text.insertionPoint(1)
wksheet.Cells(i + 1, 3).Value = obj_text.textString
Next i
Next obj_text
就上面这段程序,个人认为有点问题,循环被多循环了itemcount-1次,其实只要如下就行了
Dim obj_text As AcadText
For i = 0 To itemcount - 1
Set obj_text = selectionset.Item(i)
wksheet.Cells(i + 1, 1).Value = obj_text.insertionPoint(0)
wksheet.Cells(i + 1, 2).Value = obj_text.insertionPoint(1)
wksheet.Cells(i + 1, 3).Value = obj_text.textString
Next
我想这样就快多了,你为什么不用数据的方式呢,那样会更快的。先写入数据库,完了后用代码整体写入EXCEL中多好
页:
[1]