読者です 読者をやめる 読者になる 読者になる

C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA

Drawテーブルのセル内の行間隔の設定について

こちらの続きです。
DrawingTableをクリアする - C#ATIA

"テーブル内の文字の行間を変更したい" についてですが、
テーブル内の各セルは DrawingTextクラスとして提供されているようです。

そこで、このようなテーブルを作成し、セル(1,1)の位置に改行入りの
テキストを入力。 行間隔を3.21mmに設定しました。
f:id:kandennti:20160203123652p:plain

続いて、こんな感じのマクロを作成し実行。

'vba
Sub CATMain()
    Dim DrawDoc As DrawingDocument
    Set DrawDoc = CATIA.ActiveDocument
    
    Dim DrawTable As DrawingTable
    Set DrawTable = DrawDoc.Sheets.ActiveSheet.Views.ActiveView.Tables.Item(1)
    
    Dim DrawText As DrawingText
    Set DrawText = DrawTable.GetCellObject(1, 1)
    Stop
End Sub

イミディエイトウィエンドウで "3.21" の値になる項目を探してみましたが、
見当たりませんでした。
f:id:kandennti:20160203123700p:plain

行間隔については、プロパティとしては提供されていないようです。
(メソッドに関してはそれっぽい名前のものは無さそうです。)

検索してすると、これらがHitしますが、何れもレスが付いていないので
やはり出来ないものだろうと感じます。
Macro for setting the specified line spacing in multiline text - DASSAULT: CATIA products - Eng-Tips
get line spacing for a text in drafting - DASSAULT: CATIA products - Eng-Tips



そこで代案です。
まず "KANJ" フォントを使用しているのだろうと思うのですが、
他のフォント(SSS4等)に変更するのはどうでしょうか?
"KANJ" フォントは文字がくっ付き過ぎて、特に見づらいのが本音で
僕は基本的に使用しないです。
"SSS4" フォントであれば、行間隔0mmでも見やすいです。
(フォントの変更はマクロでも可能なはずです)

"KANJ" フォントで行間隔を・・・ と言うことであれば、
1つ行間隔の設定をしたテーブルを作成し、ライブラリ的なDrawファイルを作成。
マクロのSelectionのコピペを利用し取ってくる事は、可能です。
挿入位置にもよりますが、行や列の追加でも行間隔の設定が同じ
状態で増えてくれてるような気がします。