CloudJack 发表于 2022-7-5 18:19:09

将多行文字分离到单个t

目前,我有一个Excel表格。列数包含0或1。

我必须逐列复制到记事本中,然后将记事本中包含的内容复制到CAD中。
在那之后,我有几个单独的多行文字专栏。然后我进一步将它们分解成文本。
许多单独的文本粘贴在CAD上,这就是我想要的。
然而,如果我将多列复制到记事本中,结果是一个包含所有列的多行文字。我分解多行文字,我将获得多行文字。
我正在搜索lisp以将多行文字转换/分离为单个文字。

为了更进一步,我希望通过lisp将这些1和0定位在从excel到CAD的不同目标点。

Happy Hobbit 发表于 2022-7-5 18:35:24

我在某处发现了这个,例如用户从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)
)

CloudJack 发表于 2022-7-5 18:40:16

非常感谢。
然而,我想这样做:

如果我在Excel中复制多个列,结果只剩下一个。
我想要右边而不是左边。
每个1和0都应该是分开的文本。

BIGAL 发表于 2022-7-5 18:55:15

有许多示例可以通过每个单元格(例如文本值)将excel文件读入Autocad。在这里搜索“excel”,您不需要通过记事本等进行中间步骤。
 
上周可能会找到一些东西。

rlx 发表于 2022-7-5 19:07:56

此工具可能具有您想要的功能:http://www.cadtutor.net/forum/showthread.php?93900-VT属性amp文本编辑器RLX
 
 
按照说明操作(将vt.lsp重命名为vt.vlx,然后使用(加载“vt.vlx”)…)
 
 
启动命令时,按空格键或鼠标右键启动“快速菜单”,然后选择“功能粘贴规范”。休息应该很容易。
 
 
gr.Rlx

CloudJack 发表于 2022-7-5 19:09:26

谢谢BIGAL和rlx!!
我找到了李·麦克:http://www.lee-mac.com/readcsv.html我成功地将其作为个人文本。
 
rlx,我试过你的Lisp程序。它是非常强大的lisp。
然而,我想要更多的代码示例来研究如何为任务编写lisp。
 
顺便说一句,非常感谢大家!

rlx 发表于 2022-7-5 19:19:45

 
 
 
 
不客气,请参阅下面的链接,lsp的最后一部分有excel代码
 
 
http://www.cadtutor.net/forum/showthread.php?93959-VT属性amp文本编辑器lsp amp dcl
 
 
Gr.Rlx
页: [1]
查看完整版本: 将多行文字分离到单个t