Masters.Add method (Visio)
Adds a new object to a collection.
expression A variable that represents a Masters object.
All properties of the new object are initialized to zero, so you need to set only the properties that you want to change.
The following macro shows how to add Master objects to the Masters collection and Page objects to the Pages collection. It also shows how to add documents, layers, styles, events, and add-ons to their corresponding collections.
Before running this macro, replace Myfile.vsd with a valid .vsd file and references to path \ filename and filename with a valid path and/or file name to an executable add-on (EXE) in your Visio project. The add-on should take no arguments.
Public Sub Add_Example() Dim vsoMasters As Visio.Masters Dim vsoAddons As Visio.Addons Dim vsoPages As Visio.Pages Dim vsoEventList As Visio.EventList Dim vsoLayers As Visio.Layers Dim vsoLayer As Visio.Layer Dim vsoStyles As Visio.Styles Dim vsoDocument As Visio.Document Dim vsoEvent As Visio.Event Dim vsoMaster As Visio.Master Dim vsoPage As Visio.Page Dim vsoShape As Visio.Shape Dim vsoStyle As Visio.Style Dim vsoAddon As Visio.Addon 'Add a document based on the Basic Diagram template. Set vsoDocument = Documents.Add("Basic Diagram.vst") 'Add a document based on a drawing (creates a copy of the drawing). Set vsoDocument = Documents.Add("Myfile.vsd ") 'Add a document based on a stencil (creates a copy of the stencil). Set vsoDocument = Documents.Add("Basic Shapes.vss") 'Add a document object based on no template. Set vsoDocument = Documents.Add("") 'Get the Pages collection and add a page to the collection. Set vsoPages = vsoDocument.Pages Set vsoPage = vsoPages.Add 'Get the Masters collection and add a master to the collection. Set vsoMasters = vsoDocument.Masters Set vsoMaster = vsoMasters.Add 'Get the Layers collection and add a layer named "MyLayer" 'to the collection. Set vsoLayers = vsoPage.Layers Set vsoLayer = vsoLayers.Add("MyLayer") 'Draw a rectangle. Set vsoShape = vsoPage.DrawRectangle(3, 3, 5, 6) 'Add this shape to MyLayer. The second argument is required but has 'no effect, because vsoShape is not a group shape. vsoLayer.Add vsoShape, 0 'Add a style named "My FillStyle" to the Styles collection. 'This style is based on the Basic style and includes 'only a Fill style. Set vsoStyles = vsoDocument.Styles Set vsoStyle = vsoStyles.Add("My FillStyle", "Basic", False, False, True) 'Add a style named "My NoStyle" to the Styles collection. 'This style is based on no style and includes 'Text, Line, and Fill styles. Set vsoStyle = vsoStyles.Add("My NoStyle", "", True, True, True) 'Add an add-on to the Addons collection. Set vsoAddons = Visio.Addons Set vsoAddon = vsoAddons.Add("path \filename ") 'Add a BeforeDeleteSelection event to the EventList collection 'of the document. The event will start your add-on, which 'takes no arguments. Set vsoEventList = vsoDocument.EventList Set vsoEvent = vsoEventList.Add(visEvtCodeBefSelDel, visActCodeRunAddon, _ "filename ", "") 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.