乐筑天下

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

[编程交流] 通过Lisp的表格单元格样式

[复制链接]

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 16:13:05 | 显示全部楼层 |阅读模式
如何使lisp遍历所有单元格(行、列)并设置单元格样式?
 
我有“(vla setcellstyle 0 1”数据”)“正在工作,但我不想单独编程超过100个单元格。
 
如何使lisp穿过所有单元格?
 
谢谢
乔纳森
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 16:47:58 | 显示全部楼层
你好
 
试试看。
  1. (defun c:Test ( / sty tbl obj row col r c)
  2. ;;        Tharwat - Date:  11.Jul.2017        ;;
  3. (setq sty "Standard") ;; Change the Text Style to suit your desired one.
  4. (if (and (or (tblsearch "STYLE" sty)
  5.             (alert (strcat "Text style <" sty "> is not found in drawing <!>"))
  6.             )
  7.         (princ "\nPick on Table :")
  8.         (setq tbl (ssget "_+.:S:E:L" '((0 . "ACAD_TABLE"))))
  9.         (setq obj (vlax-ename->vla-object (ssname tbl 0))
  10.               row (vla-get-rows obj)
  11.               col (vla-get-columns obj)
  12.               r 0 c 0
  13.               )
  14.         )
  15.    (repeat row
  16.      (repeat col
  17.        (vla-setcelltextstyle obj r c sty) (setq c (1+ c))
  18.        )
  19.      (setq r (1+ r) c 0)
  20.      )
  21.    )
  22. (princ)
  23. ) (vl-load-com)
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 17:27:16 | 显示全部楼层
好吧,我有点困惑:
[列表]
1.以下(wcmatch x“*Cell*”)方法是否仅适用于(0。“TABLESTYLE”),而不适用于(0。“ACAD\u TABLE”)?
[/列表]
  1. ; Methods supported:
  2. ;   CreateCellStyle (1)
  3. ;   CreateCellStyleFromStyle (2)
  4. ;   DeleteCellStyle (1)
  5. ;   GetCellClass (1)
  6. ;   GetCellStyles (1)
  7. ;   GetIsCellStyleInUse (1)
  8. ;   GetUniqueCellStyleName (1)
  9. ;   RenameCellStyle (2)
  10. ;   SetCellClass (2)

 
[列表]
2.创建新的单元格样式后,通过调用(CreateCellStyle)方法,
我们将使用(wcmatch x“*2”)方法来调整单元样式的属性,就像操作普通表样式一样?
[/列表]
  1. ; Methods supported:
  2. ;   GetAlignment2 (1)
  3. ;   GetBackgroundColor2 (1)
  4. ;   GetColor2 (1)
  5. ;   GetDataType2 (3)
  6. ;   GetFormat2 (2)
  7. ;   GetGridColor2 (2)
  8. ;   GetGridLineWeight2 (2)
  9. ;   GetGridVisibility2 (2)
  10. ;   GetTextHeight2 (1)
  11. ;   SetAlignment2 (2)
  12. ;   SetBackgroundColor2 (2)
  13. ;   SetColor2 (2)
  14. ;   SetDataType2 (3)
  15. ;   SetFormat2 (2)
  16. ;   SetGridColor2 (3)
  17. ;   SetGridLineWeight2 (3)
  18. ;   SetGridVisibility2 (3)
  19. ;   SetTextHeight2 (2)

 
第2步对我来说有点愚蠢-获得一个“CellStyle”VLA-OBJECT(如果有)并像其他任何对象一样操作它会更方便。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:09 , Processed in 0.423903 second(s), 58 queries .

© 2020-2025 乐筑天下

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