CATIA二次开发:工程图中文本的遍历和修改
在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语法遍历文本,
例如
对于MyView中的每个文本。在视图中获得文本串后,文本可以通过使用VBA的替换函数来修改文本串。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