乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 30|回复: 6

[编程交流] 将多行文字分离到单个t

[复制链接]

6

主题

18

帖子

15

银币

初来乍到

Rank: 1

铜币
28
发表于 2022-7-5 18:19:09 | 显示全部楼层 |阅读模式
目前,我有一个Excel表格。列数包含0或1。
191911e1pt815c3y03w3p5.jpg
我必须逐列复制到记事本中,然后将记事本中包含的内容复制到CAD中。
在那之后,我有几个单独的多行文字专栏。然后我进一步将它们分解成文本。
许多单独的文本粘贴在CAD上,这就是我想要的。
然而,如果我将多列复制到记事本中,结果是一个包含所有列的多行文字。我分解多行文字,我将获得多行文字。
我正在搜索lisp以将多行文字转换/分离为单个文字。
191912ziei1w95fi5k5r74.jpg
为了更进一步,我希望通过lisp将这些1和0定位在从excel到CAD的不同目标点。
回复

使用道具 举报

21

主题

155

帖子

135

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-5 18:35:24 | 显示全部楼层
我在某处发现了这个,例如用户从Excel或Word复制文本。用户调用PSTSP命令&文本被粘贴为单个文本项。为了使文本大写,我稍微修改了一下:
 
  1. (defun c:PSTSP (/ _GetClipBoardText ent_last last_ent pt str)
  2. (vl-load-com)
  3. (defun _GetClipBoardText (/ htmlfile result)
  4.    (setq result
  5.           (vlax-invoke
  6.             (vlax-get
  7.               (vlax-get
  8.                 (setq htmlfile (vlax-create-object "htmlfile"))
  9.                 'ParentWindow
  10.               )
  11.               'ClipBoardData
  12.             )
  13.             'GetData
  14.             "Text"
  15.           )
  16.    )
  17.    (vlax-release-object htmlfile)
  18.    result
  19. )
  20. (if (not (setq ent_last (entlast)))
  21.    (progn
  22.      (entmake '(
  23.                 (0 . "POINT")
  24.                 (100 . "AcDbEntity")
  25.                 (100 . "AcDbPoint")
  26.                 (10 . (0.0 0.0 0.0))
  27.                )
  28.      )
  29.      (setq ent_last (entlast)
  30.            last_ent ent_last
  31.      )
  32.    )
  33. )
  34. (if (and (setq str (_GETCLIPBOARDTEXT))
  35.           (setq pt (getpoint "\nSpecify text start point: "))
  36.      )
  37.    (progn
  38.      (setq str (strcase str))
  39.      (entmake (list
  40.                 '(0 . "MTEXT")
  41.                 '(100 . "AcDbEntity")
  42.                 '(100 . "AcDbMText")
  43.                 (cons 10 pt)
  44.                 (cons 1 str)
  45.               )
  46.      )
  47.      
  48.      (command "_.explode" "_L")
  49.    )
  50. )
  51. (if last_ent
  52.    (entdel last_ent)
  53. )
  54. (princ)
  55. )
回复

使用道具 举报

6

主题

18

帖子

15

银币

初来乍到

Rank: 1

铜币
28
发表于 2022-7-5 18:40:16 | 显示全部楼层
非常感谢。
然而,我想这样做:
191914a6xem16utod6heui.jpg
如果我在Excel中复制多个列,结果只剩下一个。
我想要右边而不是左边。
每个1和0都应该是分开的文本。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:55:15 | 显示全部楼层
有许多示例可以通过每个单元格(例如文本值)将excel文件读入Autocad。在这里搜索“excel”,您不需要通过记事本等进行中间步骤。
 
上周可能会找到一些东西。
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 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
回复

使用道具 举报

6

主题

18

帖子

15

银币

初来乍到

Rank: 1

铜币
28
发表于 2022-7-5 19:09:26 | 显示全部楼层
谢谢BIGAL和rlx!!
我找到了李·麦克:http://www.lee-mac.com/readcsv.html我成功地将其作为个人文本。
 
rlx,我试过你的Lisp程序。它是非常强大的lisp。
然而,我想要更多的代码示例来研究如何为任务编写lisp。
 
顺便说一句,非常感谢大家!
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 19:19:45 | 显示全部楼层
 
 
 
 
不客气,请参阅下面的链接,lsp的最后一部分有excel代码
 
 
http://www.cadtutor.net/forum/showthread.php?93959-VT属性amp文本编辑器lsp amp dcl
 
 
Gr.Rlx
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 20:02 , Processed in 0.391310 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表