御質問頂いた内容を正しく理解できているかわからないのですが、
「Drawで検索してHitしたテキストの文字を、他のテキストに追記したい」
と理解しました。
テストするものは、このような感じにしました。
コードはこちら。
'vba Sub CATMain() 'ドキュメント Dim dwDoc As DrawingDocument Set dwDoc = CATIA.ActiveDocument 'selection Dim sel As selection Set sel = dwDoc.selection '検索-紫の文字 sel.Clear sel.Search "CATDrwSearch.DrwText.Color='(128,0,255)',all" If sel.Count2 < 1 Then MsgBox "該当する文字は見つかりませんでした" Exit Sub End If '文字取得 Dim txts() As String ReDim txts(sel.Count2 - 1) Dim i As Long For i = 1 To sel.Count2 txts(i - 1) = sel.Item2(i).Value.Text Next '挿入する文字選択 Dim selVar As Variant Set selVar = sel Dim msg As String msg = "挿入するテキストを指定してください" Dim filter As Variant filter = Array("DrawingText") Select Case selVar.SelectElement2(filter, msg, False) Case "Cancel", "Undo", "Redo" Exit Sub End Select Dim target As DrawingText Set target = selVar.Item2(1).Value '検索した文字をターゲットに追加-改行入れてます target.Text = target.Text & vbCrLf & Join(txts, vbCrLf) '終わり MsgBox "Done" End Sub
ここから紫色の文字を検索で取得し、指定したテキストに取得した
文字を追記します。
仮に「バージョン 5 の終了」の文字を指定するとこんな感じになります。