Masters.GetNames method (Visio)

Returns the names of all items in a collection.

Syntax

expression.GetNames (localeSpecificNameArray())

expression A variable that represents a Masters object.

Parameters

Name Required/Optional Data type Description
localeSpecificNameArray() Required String Out parameter. An array that receives names of members of the indicated object.

Return value

Nothing

Remarks

If the GetNames method succeeds, localeSpecificNameArray() returns a one-dimensional array of n strings indexed from 0 to n - 1, where n equals the Count property of the object. localeSpecificNameArray() is an out parameter that is allocated by the GetNames method, which passes ownership back to the caller. The caller should eventually perform the SafeArrayDestroy procedure on the returned array. Note that the SafeArrayDestroy procedure has the side effect of freeing the strings referenced by the array's entries. (Microsoft Visual Basic and Microsoft Visual Basic for Applications (VBA) take care of this for you.)

Note

Beginning with Microsoft Visio 2000, you can use both local and universal names to refer to Visio shapes, masters, documents, pages, rows, add-ons, cells, hyperlinks, styles, fonts, master shortcuts, UI objects, and layers. When a user names a shape, for example, the user is specifying a local name. Beginning with Microsoft Office Visio 2003, the ShapeSheet spreadsheet displays only universal names in cell formulas and values. (In prior versions, universal names were not visible in the user interface.)

As a developer, you can use universal names in a program when you don't want to change a name each time a solution is localized. Use the GetNames method to get the local name of more than one object. Use the GetNamesU method to get the universal name of more than one object.

Example

The following VBA macro shows how to use the GetNames method to get the names of all the Master objects in the Masters collection of the active document and print them in the Immediate window.

 
Public Sub GetNames_Example() 
 
 Dim strMasterNames() As String 
 Dim intLowerBound As Integer 
 Dim intUpperBound As Integer 
 
 ActiveDocument.Masters.GetNames strMasterNames 
 intLowerBound = LBound(strMasterNames) 
 intUpperBound = UBound(strMasterNames) 
 Debug.Print ActiveDocument; " Lower bound:"; intLowerBound; "Upper bound:"; intUpperBound 
 
 While intLowerBound <= intUpperBound 
 
 Debug.Print strMasterNames (intLowerBound) 
 intLowerBound = intLowerBound + 1 
 
 Wend 
 
End Sub

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.