CustomProperties Collection
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