三日白 发表于 2011-10-12 11:02:03

求助,程序运行速度慢,求帮助改进

说明:利用cad宏提取水深数据(x,y,h),程序可以运行,能提取出数据,但是运行时间长,直接卡死,需用任务管理器退出,无法确认什么时候运行结束,各位高手帮帮忙
      程序从当前视图提取水深,结果保存在d盘mmm.xis中

齐天大圣3386 发表于 2011-10-12 21:01:01

给你个建议,不用Excel,可以存成固定格式的文本文件,使用文件时,用Excel打开。或者用Excel打开后,再存成xls格式的.

poly168 发表于 2011-12-21 13:07:51

直接保存为CSV文件比较方便而且速度很快,坐标数数据用逗号分隔开,Excel可以直接打开CSV文件,你程序中是不停地在CAD与Excel中间传递数据,这个过程是很耗时的哦。

wwswwswws 发表于 2012-4-17 11:39:04

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]
查看完整版本: 求助,程序运行速度慢,求帮助改进