こちらのサンプルを実行しても、ツリーのビュー名が変更されない
とコメント頂きました。
カレントビューの角度や生成スタイルの取得2 - C#ATIA
実際に試した所、ビュー名をテキストは変更が反映されていますが、
ツリー上のビュー名は反映されていませんでした。
こんな状態ですね。左側は実行前で右側は実行後です。
確かに青矢印部分は変更されますが、緑部分は変更が反映されて
いません。
海外のサイトで調べてみましたが、それらしき症状の記載が無く
見つけられませんでした。
但し、画像の状態で色々操作してみると反映される操作が複数
ありました。
一番現実的かな?と思われるのは、アクティブなビューを切り替える
事でツリー上のビュー名が即反映されます。
以前のサンプルをちょっと修正してみました。
'vba Sub CATMain() Dim msg As String 'ドキュメント Dim dwDoc As DrawingDocument Set dwDoc = CATIA.ActiveDocument 'views Dim views As DrawingViews Set views = dwDoc.sheets.ActiveSheet.views 'カレントビュー Dim actVi As DrawingView Set actVi = views.ActiveView 'ビュー名の取得 Dim prefix As String, ident As String, suffix As String actVi.GetViewName prefix, ident, suffix ' MsgBox "Prefix:" & prefix & vbCrLf & _ ' "Ident:" & ident & vbCrLf & _ ' "Suffix:" & suffix 'ビュー名の変更 prefix = "PIYO" ident = " HUGA" suffix = " POYO" actVi.SetViewName prefix, ident, suffix '他のビューを一時的にアクティブにし、 '再度元のビューをアクティブにする Dim vi As DrawingView For Each vi In views If Not vi Is actVi Then vi.Activate Exit For End If Next actVi.Activate ' MsgBox "Prefix:" & prefix & vbCrLf & _ ' "Ident:" & ident & vbCrLf & _ ' "Suffix:" & suffix End Sub
メッセージボックスも邪魔なのでコメント化しています。
ひょっとしたら他にもっと良い方法があるかも知れません。
(が、個人的にはこの方法もそれ程ストレスを感じません)