将多行文字分离到单个t
目前,我有一个Excel表格。列数包含0或1。我必须逐列复制到记事本中,然后将记事本中包含的内容复制到CAD中。
在那之后,我有几个单独的多行文字专栏。然后我进一步将它们分解成文本。
许多单独的文本粘贴在CAD上,这就是我想要的。
然而,如果我将多列复制到记事本中,结果是一个包含所有列的多行文字。我分解多行文字,我将获得多行文字。
我正在搜索lisp以将多行文字转换/分离为单个文字。
为了更进一步,我希望通过lisp将这些1和0定位在从excel到CAD的不同目标点。 我在某处发现了这个,例如用户从Excel或Word复制文本。用户调用PSTSP命令&文本被粘贴为单个文本项。为了使文本大写,我稍微修改了一下:
(defun c:PSTSP (/ _GetClipBoardText ent_last last_ent pt str)
(vl-load-com)
(defun _GetClipBoardText (/ htmlfile result)
(setq result
(vlax-invoke
(vlax-get
(vlax-get
(setq htmlfile (vlax-create-object "htmlfile"))
'ParentWindow
)
'ClipBoardData
)
'GetData
"Text"
)
)
(vlax-release-object htmlfile)
result
)
(if (not (setq ent_last (entlast)))
(progn
(entmake '(
(0 . "POINT")
(100 . "AcDbEntity")
(100 . "AcDbPoint")
(10 . (0.0 0.0 0.0))
)
)
(setq ent_last (entlast)
last_ent ent_last
)
)
)
(if (and (setq str (_GETCLIPBOARDTEXT))
(setq pt (getpoint "\nSpecify text start point: "))
)
(progn
(setq str (strcase str))
(entmake (list
'(0 . "MTEXT")
'(100 . "AcDbEntity")
'(100 . "AcDbMText")
(cons 10 pt)
(cons 1 str)
)
)
(command "_.explode" "_L")
)
)
(if last_ent
(entdel last_ent)
)
(princ)
) 非常感谢。
然而,我想这样做:
如果我在Excel中复制多个列,结果只剩下一个。
我想要右边而不是左边。
每个1和0都应该是分开的文本。 有许多示例可以通过每个单元格(例如文本值)将excel文件读入Autocad。在这里搜索“excel”,您不需要通过记事本等进行中间步骤。
上周可能会找到一些东西。 此工具可能具有您想要的功能:http://www.cadtutor.net/forum/showthread.php?93900-VT属性amp文本编辑器RLX
按照说明操作(将vt.lsp重命名为vt.vlx,然后使用(加载“vt.vlx”)…)
启动命令时,按空格键或鼠标右键启动“快速菜单”,然后选择“功能粘贴规范”。休息应该很容易。
gr.Rlx 谢谢BIGAL和rlx!!
我找到了李·麦克:http://www.lee-mac.com/readcsv.html我成功地将其作为个人文本。
rlx,我试过你的Lisp程序。它是非常强大的lisp。
然而,我想要更多的代码示例来研究如何为任务编写lisp。
顺便说一句,非常感谢大家!
不客气,请参阅下面的链接,lsp的最后一部分有excel代码
http://www.cadtutor.net/forum/showthread.php?93959-VT属性amp文本编辑器lsp amp dcl
Gr.Rlx
页:
[1]