我想替换图形中的单行文本,但是遇到了问题,所以上来请教各位前辈:
1、我在图形中将需要替换的文本设置成唯一名称,比如叫“A文本”,整个图形中的单行文本,只有一处叫“A文本”,我用 strFind = "A文本",strReplace = "B文本",可以替换掉。但是如果我文字打错了,想把文本改成“C文本”。问题来了,再用strFind来查找,可是图形中叫“B文本”的有很多,它不是唯一的,用strReplace替换后就会出错。
2、有没有一种方法,锁定文本的句柄,通过句柄来实现修改文本,因为我查了相关资料,说是句柄是唯一的。如果真是这样,不管文本是什么,都能通过句柄来锁定它,来修改,这样就不会乱了,不知道我这个想法是不是对的?
3、如果上面的方法都不行,是否能通过删除文本,然后再插入新文本来实现?如果这样也可以,我在程序运行时,第一个动作是删除文本,然后在固定的位置插入新文本,这样也不会乱了。以上只是我的想法,VBA刚入门,许多不懂,只能一步一步摸索,文本操作这一块,只会用strFind和strReplace 来替换,其它方法都不会,代码不知如何写,实在没办法了,才上来打扰各位前辈,希望有知道的前辈不吝赐教,贴一段代码指导一下,谢谢!
1、我在图形中将需要替换的文本设置成唯一名称,比如叫“A文本”,整个图形中的单行文本,只有一处叫“A文本”,我用 strFind = "A文本",strReplace = "B文本",可以替换掉。但是如果我文字打错了,想把文本改成“C文本”。问题来了,再用strFind来查找,可是图形中叫“B文本”的有很多,它不是唯一的,用strReplace替换后就会出错。
2、有没有一种方法,锁定文本的句柄,通过句柄来实现修改文本,因为我查了相关资料,说是句柄是唯一的。如果真是这样,不管文本是什么,都能通过句柄来锁定它,来修改,这样就不会乱了,不知道我这个想法是不是对的?
3、如果上面的方法都不行,是否能通过删除文本,然后再插入新文本来实现?如果这样也可以,我在程序运行时,第一个动作是删除文本,然后在固定的位置插入新文本,这样也不会乱了。以上只是我的想法,VBA刚入门,许多不懂,只能一步一步摸索,文本操作这一块,只会用strFind和strReplace 来替换,其它方法都不会,代码不知如何写,实在没办法了,才上来打扰各位前辈,希望有知道的前辈不吝赐教,贴一段代码指导一下,谢谢!
按理说,文本替换操作,无论替换多少次,也不应该“出错”才是啊。
你说“会出错”,那么它的错误提示是什么,怎么不说清楚!!!!
(话说,你这个 strReplace是CAD的VBE提供的过程或函数吗?)2. “文本”应该是没有句柄的吧!
退一万步说,就算有句柄,你凭什么去确定你“想替换的那一段文本”的句柄呢!
若能“确定某一段文本”了,肯定也有相关的方法改变这段文本内容,关“句柄”什么事呢……3. 依稀记得CAD有一种什么格式的文档,是“纯文本”形式的,不知道你要处理的文档能不能转换成那种文档格式来处理?
你可以尝试一下,看转换格式后的文档,有没有包含你需要处理的内容的全部信息在里面。
如果可以这样转换后再处理,你看看能不能搞定;
若不能搞定,建议你提供文档样本,看有没有解决办法。