Change Text Format Example (VBA)
This example shows how to change the text format of an annotation.
'---------------------------------------------------
'
' Preconditions:
' (1)
Part, assembly or drawing is open.
' (2)
An annotation is selected.
'
' Postconditions: The text format of the selected annotation
is changed.
'
'----------------------------------------------------
Option Explicit
Public Enum swAnnotationType_e
swCThread
= 1
swDatumTag
= 2
swDatumTargetSym
= 3
swDisplayDimension
= 4
swGTol
= 5
swNote
= 6
swSFSymbol
= 7
swWeldSymbol
= 8
swCustomSymbol
= 9
swDowelSym
= 10
swLeader
= 11
swBlock
= 12
swCenterMarkSym
= 13
swTableAnnotation
= 14
swCenterLine
= 15
swDatumOrigin
= 16
End Enum
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swAnnObj As
Object
Dim
swAnn As
SldWorks.Annotation
Dim
swTextFormat As
SldWorks.textFormat
Dim
i As
Long
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swAnnObj = swSelMgr.GetSelectedObject5(1)
Set
swAnn = swAnnObj.GetAnnotation:
Debug.Assert Not Nothing Is swAnn
'
Get text format information
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" "
& swAnn.GetName & "
<" & swAnn.GetType
& ">"
For
i = 0 To swAnn.GetTextFormatCount
- 1
Set
swTextFormat = swAnn.GetTextFormat(i)
'
Change text to be 10mm high, bold, italic, and Comic Sans MS font face
swTextFormat.CharHeight = 0.01
swTextFormat.Bold = True
swTextFormat.Italic = True
swTextFormat.TypeFaceName = "Comic Sans MS"
bRet
= swAnn.SetTextFormat(i, False,
swTextFormat): Debug.Assert bRet
Next
End Sub
'---------------------------------------------------------