找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1154|回复: 14

[求助] 关于table的控制函数参数怎么写,哪里有资料可找?

[复制链接]

已领礼包: 604个

财富等级: 财运亨通

发表于 2017-10-9 11:00:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 /db_自贡黄明儒_ 于 2017-10-9 11:03 编辑

05就有table,我基本上不用,认识总有一个过程的,正如对块的认识,论坛上对块的程序也很多,对于组G和table就少了。最近发现table是个好东西,有些函数参数不知怎么写,哪里有资料可找?下面是部分函数
;;;;支持的方法:
;;;;   ClearSubSelection ()
;;;;   CreateContent (3)
;;;;   Delete ()
;;;;   DeleteCellContent (2)
;;;;   DeleteColumns (2)
;;;;   DeleteContent (2)
;;;;   DeleteRows (2)
;;;;   EnableMergeAll (3)
;;;;   GetAlignment (1)
;;;;   GetAttachmentPoint (2)
;;;;   GetAutoScale (2)
;;;;   GetAutoScale2 (3)
;;;;   GetBackgroundColor (1)
;;;;   GetBackgroundColorNone (1)
;;;;   GetBlockAttributeValue (3)
;;;;   GetBlockAttributeValue2 (4)
;;;;   GetBoundingBox (2)
;;;;   GetCellAlignment (2)
;;;;   GetCellBackgroundColor (2)
;;;;   GetCellBackgroundColorNone (2)
;;;;   GetCellContentColor (2)
;;;;   GetCellDataType (4)
;;;;   GetCellExtents (3)
;;;;   GetCellFormat (2)
;;;;   GetCellGridColor (3)
;;;;   GetCellGridLineWeight (3)
;;;;   GetCellGridVisibility (3)
;;;;   GetCellTextHeight (2)
;;;;   GetCellTextStyle (2)
;;;;   GetCellValue (2)
;;;;   GetColumnName (1)
;;;;   GetColumnWidth (1)
;;;;   GetContentColor (1)
;;;;   GetContentColor2 (3)
;;;;   GetContentLayout (2)
;;;;   GetContentType (2)
;;;;   GetCustomData (4)
;;;;   GetDataFormat (3)
;;;;   GetDataType (3)
;;;;   GetDataType2 (5)
;;;;   GetExtensionDictionary ()
;;;;   GetFieldId (2)
;;;;   GetFieldId2 (3)
;;;;   GetFormat (1)
;;;;   GetFormula (3)
;;;;   GetGridColor (2)
;;;;   GetGridColor2 (3)
;;;;   GetGridDoubleLineSpacing (3)
;;;;   GetGridLineStyle (3)
;;;;   GetGridLinetype (3)
;;;;   GetGridLineWeight (2)
;;;;   GetGridLineWeight2 (3)
;;;;   GetGridVisibility (2)
;;;;   GetGridVisibility2 (3)
;;;;   GetHasFormula (3)
;;;;   GetMargin (3)
;;;;   GetMinimumColumnWidth (1)
;;;;   GetMinimumRowHeight (1)
;;;;   GetOverride (3)
;;;;   GetRotation (3)
;;;;   GetRowHeight (1)
;;;;   GetRowType (1)
;;;;   GetScale (3)
;;;;   GetSubSelection (4)
;;;;   GetText (2)
;;;;   GetTextHeight (1)
;;;;   GetTextHeight2 (3)
;;;;   GetTextRotation (2)
;;;;   GetTextString (3)
;;;;   GetTextStyle (1)
;;;;   GetTextStyle2 (3)
;;;;   GetValue (3)
;;;;   HitTest (4)
;;;;   InsertColumns (3)
;;;;   InsertColumnsAndInherit (3)
;;;;   InsertRows (3)
;;;;   InsertRowsAndInherit (3)
;;;;   IntersectWith (2)
;;;;   IsContentEditable (2)
;;;;   IsEmpty (2)
;;;;   IsMergeAllEnabled (2)
;;;;   IsMergedCell (6)
;;;;   MergeCells (4)
;;;;   MoveContent (4)
;;;;   ReselectSubRegion ()
;;;;   ResetCellValue (2)
;;;;   Select (8)
;;;;   SelectSubRegion (10)
;;;;   SetBackgroundColor (2)
;;;;   SetBackgroundColorNone (2)
;;;;   SetBreakHeight (2)
;;;;   SetCellAlignment (3)
;;;;   SetCellBackgroundColor (3)
;;;;   SetCellBackgroundColorNone (3)
;;;;   SetCellContentColor (3)
;;;;   SetCellDataType (4)
;;;;   SetCellFormat (3)
;;;;   SetCellGridColor (4)
;;;;   SetCellGridLineWeight (4)
;;;;   SetCellGridVisibility (4)
;;;;   SetCellState (3)
;;;;   SetCellStyle (3)
;;;;   SetCellTextHeight (3)
;;;;   SetCellTextStyle (3)
;;;;   SetCellType (3)
;;;;   SetCellValue (3)
;;;;   SetCellValueFromText (4)
;;;;   SetColumnName (2)
;;;;   SetColumnWidth (2)
;;;;   SetContentColor (2)
;;;;   SetContentColor2 (4)
;;;;   SetContentLayout (3)
;;;;   SetCustomData (4)
;;;;   SetDataFormat (4)
;;;;   SetDataType (3)
;;;;   SetDataType2 (5)
;;;;   SetFieldId (3)
;;;;   SetFieldId2 (5)
;;;;   SetMargin (4)
;;;;   SetOverride (4)
;;;;   SetRotation (4)
;;;;   SetRowHeight (2)
;;;;   SetScale (4)
;;;;   SetSubSelection (4)
;;;;   SetText (3)
;;;;   SetTextHeight (2)
;;;;   SetTextHeight2 (4)
;;;;   SetTextRotation (3)
;;;;   SetTextString (4)
;;;;   SetTextStyle (2)
;;;;   SetTextStyle2 (4)
;;;;   SetToolTip (3)
;;;;   SetValue (4)
;;;;   SetValueFromText (5)
;;;;   UnmergeCells (4)

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-10-9 11:10:16 | 显示全部楼层
之所以提出这个问题,05下合并成如图的样子。猜测(vla-SetCellGridVisibility TblObj 1 1 :vlax-true :vlax-true)好像不正确
1.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-10-9 11:43:57 | 显示全部楼层
去查看 ACTIVEX帮助文件,每个ACTIVEX的方法,加上VLA-,都有对应的VL函数。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2017-10-9 12:10:49 来自手机 | 显示全部楼层
xd::table:make有activex方法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2017-10-9 12:43:17 来自手机 | 显示全部楼层
setblocktablerecordid(32)需要根据ACAD版本使用,2015以上有变化,包括getobjectid(32)函数
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-10-9 14:35:50 | 显示全部楼层

先是高兴了一下,只找到XD::Table:Make,其它东西没有找到。也无法解决1楼的问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-10-9 14:38:33 | 显示全部楼层

关键是这些函数需要写什么参数?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-10-9 15:15:18 | 显示全部楼层

ACTIVEX手册里面有详细的说明啊,它神秘参数,你就什么参数就行

举个例子

表格插入列

搜狗截图20171009150530.png

4个参数
第一个是表格VLA对象,然后是列号,宽度和插入的列数

那对应的VLA就是 (vla-insertcolumns tb 0 300.0 5)
在第0列前,插入5个列,列宽是300.0

  1. (defun c:tt ()
  2.   (if (and (setq e (car (entsel "\n选择表格:")))
  3.            (setq col (getint "\n起始列:"))
  4.            (setq wid (getreal "\n列宽:"))
  5.            (setq nums (getint "\n列数:"))
  6.       )
  7.     (progn (setq tb (vlax-ename->vla-object e))
  8.            (vla-insertcolumns tb col wid nums)
  9.     )
  10.   )
  11.   (princ)
  12. )



评分

参与人数 1D豆 +5 收起 理由
/db_自贡黄明儒_ + 5 热心帮忙奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-10-9 15:26:03 | 显示全部楼层

同样程序05下可以合并,08 16均提示错误。(apply 'vla-MergeCells (cons TblObj '(1 0 1 1)))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2017-10-9 15:41:46 来自手机 | 显示全部楼层
05下的table还是稚嫩,有些函数使用有变化,需看对应版本的activex help
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-10-9 15:46:39 | 显示全部楼层

你说的是自己写的代码还是我上面的例子? 上面那个例子我在2016下运行正常。
ST说的对,你想在哪个版本CAD运行,就看哪个版本的ACTIVEX帮助文件。想通用,如果不同版本有不同的表现方式,就分支判断下。一般情况下,绝大多数都是都适用的。

点评

哈哈,N版你也用高版本的了!  发表于 2017-10-9 16:11
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-10-9 17:04:13 | 显示全部楼层
不是我用高版本,而是为了测试写的代码是否在高版本正常。我常用的还是2008.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-10-11 22:07:42 | 显示全部楼层
自我总结了一下,作个标记
(defun c:w1 ()
  ;; This example adds a table in model space and sets and gets a column name
  (setq acadObj (vlax-get-acad-object))
  (setq doc (vla-get-ActiveDocument acadObj))
  (setq pt (vlax-3d-point (getpoint)))
  (setq modelSpace (vla-get-ModelSpace doc))
  (setq MyTable (vla-AddTable modelSpace pt 2 3 10 30))

  (vla-settext MyTable 0 0 "SYMBOL LIST");同下句
  (vla-SetCellValue MyTable 1 2 5)                                      ;1行2列赋值  A2005无
  (vlax-variant-value (vla-GetCellValue MyTable 1 2))                      ;1行2列 求值
  (vla-GetCellFormat MyTable 1 2);1行2列 格式 (vla-SetCellFormat MyTable 0 0 "")  A2005无
  ;;(vla-ismergedcell sn row0 col0 'r0 'r1 'c0 'c1)
  (vla-IsMergedCell MyTable 1 2 'r0 'r1 'c0 'c1); => :vlax-true,同时可以得到r0 r1 c0 c1
  (vla-UnmergeCells MyTable 0 0 0 1);取消合并,可以保证首行不是合并的了
  (vla-get-HeaderSuppressed MyTable);=> :vlax-false
  (vla-put-HeaderSuppressed MyTable :vlax-true);相当于没有合并
  (vla-HitTest MyTable (vlax-3d-point (getpoint) (vlax-3d-point (getvar 'ViewDir)) 'sRow 'sCol))
  (vla-setcelltype MyTable intNumRow intNumColumn acBlockCell)
  (vla-setblocktablerecordID MyTable intNumRow intNumColumn intObjectID :vlax-true)  
  (vla-GetColumnWidth MyTable 0);第一列
  (apply 'vla-MergeCells (cons TblObj '(minRow maxRow minCol maxCol)));合并表
  (vla-put-regeneratetablesuppressed MyTable :vlax-true);表不更新 A2005无
  (equal (vla-HitTest MyTable (vlax-3d-point p1) (vlax-3d-point (getvar 'ViewDir)) 'sRow 'sCol) :vlax-true);p1处
  (safearray-value (vlax-variant-value (vla-GetCellExtents MyTable 3 0 :vlax-true)));左上-右上 左下-右下
  (vla-GetColumnWidth MyTable 0);某列宽度
  (vla-setAutoScale MyTable 0 0 :vlax-true);RetVal = object.GetAutoScale(row, col)
  (vla-GetMinimumColumnWidth MyTable 0);=>7.5


  ;;;    (vla-ZoomExtents acadObj)
  ;;(vla-regen *DOC* acactiveviewport)
  ;;(vlax-dump-Object (vlax-ename->vla-object (car(entsel))) T)
  ;;(setq MyTable (vlax-ename->vla-object (car(entsel))))
  (vla-GetAutoScale MyTable 0 0);:vlax-false
  (vla-setAutoScale MyTable 3 0 :vlax-true)
  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2017-10-12 00:16:26 | 显示全部楼层
学习一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 05:31 , Processed in 0.285878 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表