找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 697|回复: 2

[VBA程序]:一次统一所有文字风格[上传]

[复制链接]
发表于 2002-12-9 10:45:14 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-9 11:30:08 | 显示全部楼层
对于你的程序,思路是不错的,但设置相对比较繁琐,我修改了一下,可直接借用CAD的文本样式设置功能来进行处理。

  1.   [FONT=courier new]

  2. Sub Test()
  3.     ' 用法:首先把要统一的文本样式设置为当前的文本样式,
  4.     '       程序自动把当前图形中的所有文本对象的样式名称设置为当前的文本样式的名称
  5.     '       对于当前图形中的所有单行文本对象的宽度比例因子设置为当前的文本样式的宽度比例因子
  6.    
  7.     On Error Resume Next
  8.    
  9.     ' 设置文本样式
  10.     ThisDrawing.SendCommand "'_style" & vbCr

  11.     ' 创建选择集
  12.     Dim ssetObj As AcadSelectionSet
  13.     Set ssetObj = ThisDrawing.SelectionSets("SSET")
  14.     If Err Then Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
  15.    
  16.     ' 使用过滤机制,仅选择文本对象
  17.     Dim gpCode(0) As Integer
  18.     Dim dataValue(0) As Variant
  19.     gpCode(0) = 0
  20.     dataValue(0) = "*Text"
  21.    
  22.     ' 使用过滤机制,添加所有的文本对象到选择集
  23.     ssetObj.Select acSelectionSetAll, , , gpCode, dataValue
  24.    
  25.     ' 枚举文本对象,更改文本样式
  26.     Dim i As Integer
  27.     For i = 0 To ssetObj.Count - 1
  28.         ssetObj(i).StyleName = ThisDrawing.ActiveTextStyle.Name '使用当前的文本样式
  29.         If TypeOf ssetObj(i) Is AcadText Then ssetObj(i).ScaleFactor = ThisDrawing.ActiveTextStyle.Width '对于单行文本设置宽度比例因子
  30.     Next
  31. End Sub
  32.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-12-9 11:40:25 | 显示全部楼层
是的,选择集我不太会用,我用地毯式搜索,效率低了点。好在现在机器快。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 12:51 , Processed in 0.545361 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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