个人习惯,喜欢用CAD自带的表格,因为便于随时调整格式。
找了一些资料,目前可以修改表格字体,设置表格行高、列宽,修改表格框线的线宽。
可是在设置表格框线的线宽中,发现会影响表格的单元格边距(水平单元边距、垂直单元边距)。其实以前在设置表格外框线宽的时候,就想着如何用Lisp修改单元格的边距,无奈查了好多资料,都没有找到可以实现的方法。
有没有老师得空指导一下,如何用Lisp修改单元格的边距的?
下面贴一段我写的控制单元格框线线宽的代码。
- (defun ff:Table_set_border_009 (table_ename / obj nRows nCols i)
- (vl-load-com)
- (setq obj (vlax-ename->vla-object table_ename)) ;将图元转为VLA对象
- (setq nRows(- (vla-get-rows obj) 1)) ;获取表的行数
- (setq nCols(- (vla-get-columns obj) 1)) ;获取表的列数
-
- ;****************关闭表格的实时更新,以提高修改表格的运行速度****************
- (vla-put-HeaderSuppressed obj :vlax-true)
- (vla-put-TitleSuppressed obj :vlax-true)
- (vla-put-regeneratetablesuppressed obj :vlax-true)
- ;****************关闭表格的实时更新,以提高修改表格的运行速度****************
-
- (setq i 0)
-
- (while (<= i nRows)
- (setq j 0)
- (while (<= j ncols)
- (vla-setcellgridlineweight obj i j actopmask aclnwt009)
- (vla-setcellgridlineweight obj i j acbottommask aclnwt009)
- (vla-setcellgridlineweight obj i j acleftmask aclnwt009)
- (vla-setcellgridlineweight obj i j acrightmask aclnwt009)
- (setq j (1+ j))
- )
-
- (setq i (1+ i))
- )
-
- ;********************************打开表格更新********************************
- (vla-put-HeaderSuppressed obj :vlax-false)
- (vla-put-TitleSuppressed obj :vlax-false)
- (vla-put-regeneratetablesuppressed obj :vlax-false)
- ;********************************打开表格更新********************************
-
- (princ)
- )
|