| 会员登录 立即注册

CATIA教程

搜索

    [CATIA VBA] CATIA二次开发:工程图中文本的遍历和修改

    [复制链接]
    CATIA新手教程 发表于 2020-7-21 14:47:52 | 显示全部楼层 |阅读模式
    CATIA新手教程
    2020-7-21 14:47:52 3716 2 看全部
      在CATIA VBA(VBS)二次开发中可以通过DrawingView类中的DrawingTexts文字集来遍历视图中的所有文本文字。可以使用Item方法函数通过索引来获取指定的文本文字,例如:
      Dim MyView As DrawingView
      Set MyView=MySheet.Views.ActiveView
      Dim ThisDrawingText As DrawingText
      Set ThisDrawingText=MyView.Texts.Item(2)使用Item获得的是DrawingText类,再通过此类中的Text属性即可获得文本字符串。
      还可以通过VBA(VBS)的For Each语法对文本进行遍历,例如:
      For Each Text In MyView.Texts获得视图中的文本字符串后即可使用VBA的Replace函数对字符串进行修改,Replace函数的使用语法为:
      Replace(expression、find、replace、[start、[count,[compare]]])其中:
      expression为要进行更改的字符串;find为查找替换的字符串;replace为替换成的字符串。这三个参数为必选参数,后面三个参数为可选参数。start为要搜索和返回的表达式的子字符串的起始位置,如果省略,则此值为1。count为要执行子字符串替换的次数。如果省略则默认值为-1,表示进行所有可能的替换。compare指示计算子字符串时使用的比较类型的数值,可以设置的值及其含义如下所示:
      如果没有指定start和count,Replace返回整个替换后的字符串,如果指定了start和count则返回替换后的start和count指定的子字符串。
      示例:遍历工程图视图中的所有文本字符串,并将文本中所有的AAA替换成BBB,代码如下所示。
      Set View=CATIA.ActiveDocument.Sheets.ActiveSheet.Views.ActiveView
      For Each Text In View.Texts
      Text.Text=Replace(Text.Text,“AAA”,“BBB”)
      Next
    oO燎原Oo 发表于 2020-9-11 19:51:38 | 显示全部楼层
    oO燎原Oo
    2020-9-11 19:51:38 看全部

    大佬 下面这个问题有没有办法解决?

    孙翔 发表于 2021-7-22 11:26:03 | 显示全部楼层
    孙翔
    2021-7-22 11:26:03 看全部
    很实用的知识,学习了
    • 您可能感兴趣

    查看:3716 | 回复:2

    CATIA下载| CATIA安装| CATIA教程| CATIA视频教程| CATIA二次开发| CATIA入门教程| CATIA V5| CATIA V6| CATIA论坛| CATIA论坛
    版权声明 wanqiang@rydit.com.cn ICP备案号: ( 蜀ICP备14018086号-5 )
    Copyright © 20017-2020 CATIA论坛 All Rights Reserved.  
    快速回复 返回顶部 返回列表