Этот короткий фрагмент будет искать все сущности Texts и пытаться заменить на фиксированную строку:
Sub Catmain()
Dim oDoc As Document
Dim oView as DrawingView
Dim oText As DrawingTexts
Dim txt_to_src As String
Dim txt_to_place As String
Dim n As Integer
n = 0
Set oDoc = CATIA.ActiveDocument
Set oSheets = oDoc.Sheets
Set oViews = oSheets.ActiveSheet.Views
Set oView = oViews.ActiveView
Set oTexts = oView.Texts
txt_to_src = "STACK OVERFLOW."
txt_to_place = "REPLACED"
For Each srcText In oTexts
If srcText.Text = txt_to_src Then
srcText.Text = txt_to_place
n = n + 1
End If
Next
MsgBox n & " text frames have been replaced"
End Sub
Это только поиск всех текстов в активном представлении активного листа открытого документа.
Рассмотрите возможность использования более конкретных критериев проверки, таких как Instr (проверьте, содержится ли строка в другой строке), используемое равенство является просто представительной проверкой.
Вам, вероятно, потребуется циклически просмотреть все представления листа (то есть все элементы коллекции oViews) и все листы документа (то есть все элементы коллекции oSheets). Затем разверните все циклические чертежи, если хотите.
Помните, что пустой документ с титровальным блоком уже имеет 2 вида (фоновый и основной), поэтому если на чертеже, скажем, только 1 вид спереди, сценарий должен циклически переключаться между 3 видами.