楚河 发表于 2022-11-30 14:10:17

关于table对象的方法问题

GetText、GetTextString
SetText、SetTextString
GetText获取的表单元格的字符串,有时候字符串只包含单元格内的字符,有时候字符串会包含格式内容
例如:安装工程量总表1
{\fFangSong|b0|i0|c134|p49;安装工程量总表\fTimes New Roman|b0|i0|c186|p18;1}


而SetText在设置单元格内容时,如果不带格式信息,有时候函数运行后图纸中的单元格字体会被覆盖

我的目的就是 原来图纸中table表中单元格设置了什么格式就保留什么格式,只是增加文字内容
使用 Settext和SetTextString有什么区别

liuhe 发表于 2022-11-30 14:39:37

表格的内容不仅仅是字符串,string是字符串,类似excel文本;settext 可以写入是字符串(string),可以是数字(int,real类型),还可以是块缩略图。
由于table内容的文本有时候是多行文字,里面带有多种格式,多行文本的字符串格式和新加入字符串合成一个多行文本字符串。我不知道会不会出现问题。
但是如果出现融合不能很好,如果是我,我会把多行文本字符串格式化,变成纯无格式字符串,然后再进行融合。代价是:1.原先的上下标没有了;2.原来的内容如果是多字体模式,比如汉字是宋体,数字罗马字体就会被统一成激活的字体。

yuanziyou 发表于 2022-11-30 16:15:24

搜索去除多行文字特殊字符,变成纯文本,再修改文字高度

楚河 发表于 2022-12-1 10:14:29

有没有办法只修改文字或者添加文字,但是格式继承由原来图纸的table表格单元格格式

mikewolf2k 发表于 2022-12-1 14:27:19

楚河 发表于 2022-12-1 10:14
有没有办法只修改文字或者添加文字,但是格式继承由原来图纸的table表格单元格格式

理论上不可行,因为可以存在多个格式,没法继承。
比较接近的做法是,获取最后一个的字符串部分,修改这段字符串,这样新的字符串会跟在上一个格式之后。
页: [1]
查看完整版本: 关于table对象的方法问题