スケッチのテキストのフォント等について

初めまして

ソリッドワークスを使い始めて、最近マクロ機能があることを知りそれについてわからないことだらけなので

何かヒントやアドバイスをいただけるところはないかと探していたところ、このサイトを見つけましたので登録いたしました

質問の内容ですが

マクロを使って、スケッチのテキストのフォント(メイリオやMSゴシックといったもの)やサイズを調整しようと思って

マクロの記録を使ってみたのですが、記録されていないのかいまいちよくわかりません

分かる方教えていただけると助かります

コメント

コメント表示順: リミット: オートロード:
  • 無効なユーザ 2026 日前

    横綱代様

    どうもありがとうございます。

    ゴールデンウィークもあり返事遅れましてすみません。

    さっそく検証させていただいておりますが、なかなか時間も取れずに四苦八苦しておりますが

    何とかやってみようと思っています

    どうもありがとうございました

  • 横網代 秀幸 2038 日前

    南部様

    初めまして、横網代@三協です。

     

    流れとしてはSketchTextを取得、TextFormatを取得、TextFormatを変更、SketchTextに反映 となります。

    参考となるのはAPI Helpの「Change Text Format Example (VBA)」や「ITextFormat Interface Members 」等かな?

     

    以下のコードをお試しください。(スケッチ編集モードで実行、すべてのスケッチテキストを高さ5mm/"MS UI Gothic"に変更します)

    あとはお好きなようにいじってみて下さい。(エラー処理は微妙かも)

    あじろのブログもよろしくです(宣伝)こんなものもSOLIDWORKS API 覚書 その9「スケッチテキスト一括編集」

     

    Option Explicit

    Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swDoc As ModelDoc2
    Dim swSketchMgr As SketchManager
    Dim swSketch As Sketch

    Set swApp = Application.SldWorks
    Set swDoc = swApp.ActiveDoc

    If swDoc Is Nothing Then Exit Sub

    Set swSketchMgr = swDoc.SketchManager
    Set swSketch = swSketchMgr.ActiveSketch
    If swSketch Is Nothing Then Exit Sub 'スケッチがアクティブでないと終了

    Dim vSkSegArr As Variant
    Dim vSkSeg As Variant
    Dim swSkSeg As SketchSegment
    Dim swSkText As SketchText
    Dim swTextFormat As TextFormat
    Dim bRet As Boolean

    vSkSegArr = swSketch.GetSketchSegments 'スケッチセグメントを取得
    For Each vSkSeg In vSkSegArr
    Set swSkSeg = vSkSeg
    If swSkSeg.GetType = 4 Then 'TypeがswSketchTEXTのみ
    Set swSkText = swSkSeg
    Set swTextFormat = swSkText.GetTextFormat
    swTextFormat.CharHeight = 0.005 '文字高さを指定
    swTextFormat.TypeFaceName = "MS UI Gothic" 'Fontを指定

    '他にも指定するならここで

    bRet = swSkText.SetTextFormat(False, swTextFormat)
    End If
    Next vSkSeg

     End Sub