明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 732|回复: 9

请教前辈:关于文字修改删除相关的问题

[复制链接]
发表于 2018-6-2 06:30:19 | 显示全部楼层 |阅读模式
我想替换图形中的单行文本,但是遇到了问题,所以上来请教各位前辈:
1、我在图形中将需要替换的文本设置成唯一名称,比如叫“A文本”,整个图形中的单行文本,只有一处叫“A文本”,我用 strFind = "A文本"
strReplace = "B文本",可以替换掉。但是如果我文字打错了,想把文本改成“C文本”。问题来了,再用strFind来查找,可是图形中叫“B文本”的有很多,它不是唯一的,用strReplace替换后就会出错。
2、有没有一种方法,锁定文本的句柄,通过句柄来实现修改文本,因为我查了相关资料,说是句柄是唯一的。如果真是这样,不管文本是什么,都能通过句柄来锁定它,来修改,这样就不会乱了,不知道我这个想法是不是对的。
3、如果上面的方法都不行,是否能通过删除文本,然后再插入新文本来实现?如果这样也可以,我在程序运行时,第一个动作是删除文本,然后在固定的位置插入新文本,这样也不会乱了。
以上只是我的想法,VBA刚入门,许多不懂,只能一步一步摸索,文本操作这一块,只会用strFind和strReplace 来替换,其它方法都不会,代码不知如何写,实在没办法了,才上来打扰各位前辈,希望有知道的前辈不吝赐教,贴一段代码指导一下,谢谢!
发表于 2018-6-2 16:13:49 | 显示全部楼层
你想确定某个特定文本,可以用你说的handle,对于固定的一张图,图中给定的文本的handle是不变的,也可以给这个特定文本加扩展属性,
但一般来说,给这个特定文本加扩展属性靠谱一点
 楼主| 发表于 2018-6-2 16:36:04 | 显示全部楼层
zzyong00 发表于 2018-6-2 16:13
你想确定某个特定文本,可以用你说的handle,对于固定的一张图,图中给定的文本的handle是不变的,也可以给 ...

谢谢你的回复,依然不是太明白!
发表于 2018-6-4 12:13:27 | 显示全部楼层
旧事阑珊 发表于 2018-6-2 16:36
谢谢你的回复,依然不是太明白!

自己查一下setxdata相关的知识(VBA帮助里面就有),看下例子,就知道zzyong00版主说的意思了,也就是给刚才替换过的文字增加特殊标记,到时候可以按标记识别,就可以与其它文本进行区别了。
发表于 2018-6-4 13:04:14 | 显示全部楼层
1. 其实这个问题完全可以通过仔细检查规避掉。你这些试图修正错误的方式纯属浪费时间精力。
2. 句柄并不适用。假设用户删除重建的某个文本,即使文本原样显示着,但是句柄变了,如果按句柄去区分,那么就漏掉了。
3.取决于你的具体应用吧,没什么特殊要求,就通过仔细检查替换文字来避免问题,不要复杂化了。
发表于 2018-6-4 15:09:35 | 显示全部楼层
strReplace = "B文本" ,完全可以变成 “B文本 ”,加个空格,显示基本一样,又能区分内容。

点评

这个差远了,有没有空格是截然不同的。  发表于 2018-6-4 15:48
 楼主| 发表于 2018-6-5 13:08:52 | 显示全部楼层
dong20030432 发表于 2018-6-4 12:13
自己查一下setxdata相关的知识(VBA帮助里面就有),看下例子,就知道zzyong00版主说的意思了,也就是给 ...

谢谢你的回复!大概明白了,我去查一下帮助文档,谢谢!
 楼主| 发表于 2018-6-5 13:09:49 | 显示全部楼层
mikewolf2k 发表于 2018-6-4 13:04
1. 其实这个问题完全可以通过仔细检查规避掉。你这些试图修正错误的方式纯属浪费时间精力。
2. 句柄并不适 ...

谢谢你的回复!
 楼主| 发表于 2018-6-5 13:11:04 | 显示全部楼层
1005100717 发表于 2018-6-4 15:09
strReplace = "B文本" ,完全可以变成 “B文本 ”,加个空格,显示基本一样,又能区分内容。

你说的和我的不一致,但仍要谢谢你的回复!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 06:43 , Processed in 0.157141 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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