CustomProperties Collection

Microsoft Word Visual Basic

CustomProperties Collection

SmartTag CustomProperties
CustomProperty

A collection of CustomProperty objects that represents the properties related to a smart tag. The CustomProperties collection includes all the smart tag custom properties in a document.

Using the CustomProperties collection

Use the Properties property to return a single CustomProperties object. Use the Add method of the CustomProperties object with to create a custom property from within a Microsoft Word Visual Basic for Applications project. This example creates a new property for the first smart tag in the active document and displays the XML code used for the tag.

Sub AddProps()
    With ThisDocument.SmartTags(1)
        .Properties.Add Name:="President", Value:=True
        MsgBox "The XML code is " & .XML
    End With
End Sub
		

Use Properties (index) to return a single property for a smart tag, where index is the number of the property. This example displays the name and value of the first property of the first smart tag in the current document.

Sub ReturnProps()
    With ThisDocument.SmartTags(1).Properties(1)
        MsgBox "The Smart Tag name is: " & .Name & vbLf & .Value
    End With
End Sub
		

Use the Count property to return the number of custom properties for a smart tag. This example loops through all the smart tags in the current document and then lists in a new document the name and value of the custom properties for all smart tags that have custom properties.

Sub SmartTagsProps()
    Dim docNew As Document
    Dim stgTag As SmartTag
    Dim stgProp As CustomProperty
    Dim intTag As Integer
    Dim intProp As Integer

    Set docNew = Documents.Add

    'Create heading info in new document
    With docNew.Content
        .InsertAfter "Name" & vbTab & "Value"
        .InsertParagraphAfter
    End With

    'Loop through smart tags in current document
    For intTag = 1 To ThisDocument.SmartTags.Count

        With ThisDocument.SmartTags(intTag)

            'Verify that the custom properties
            'for smart tags is greater than zero
            If .Properties.Count > 0 Then

                'Loop through the custom properties
                For intProp = 1 To .Properties.Count

                    'Add custom property name to new document
                    docNew.Content.InsertAfter .Properties(intProp) _
                        .Name & vbTab & .Properties(intProp).Value
                    docNew.Content.InsertParagraphAfter
                Next
            Else

                'Display message if there are no custom properties
                MsgBox "There are no custom properties for the " & _
                    "smart tags in your document."
            End If
        End With
    Next

    'Convert the content in the new document into a table
    docNew.Content.Select
    Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=2

End Sub