Comment : ajouter par programmation des formes à un document VisioHow to: Programmatically add shapes to a Visio document

Vous pouvez ajouter des formes à un document Microsoft Office Visio en récupérant les formes de base d’un gabarit et en déplaçant les formes sur la page active.You can add shapes to a Microsoft Office Visio document by retrieving the masters from a stencil and dropping the shapes on the active page.

Pour plus d’informations, consultez la documentation de référence de VBA pour la méthode Microsoft.Office.Interop.Visio.Documents.Add , la propriété Microsoft.Office.Interop.Visio.Application.ActivePage et la méthode Microsoft.Office.Interop.Visio.Page.Drop .For more information, see the VBA reference documentation for the Microsoft.Office.Interop.Visio.Documents.Add method, Microsoft.Office.Interop.Visio.Application.ActivePage property, and Microsoft.Office.Interop.Visio.Page.Drop method.

Ajouter des formes à un Visio DocumentAdd shapes to a Visio Document

Pour ajouter des formes à un document VisioTo add shapes to a Visio document

  • Dans un document actif, récupérez les formes de base de la collection Documents.Masters et déplacez les formes sur celui-ci.With a document active, retrieve the masters from the Documents.Masters collection and drop the shapes on the active document. Vous pouvez récupérer une forme de base à l’aide du nom de l’index ou de la forme de base.You can retrieve a master by using the index or master name.

    L’exemple de code suivant crée un document Visio vierge, puis l’ouvre avec le gabarit Formes de base ancré.The following code example creates a blank Visio document, and then opens it with the Basic Shapes stencil docked. Le code récupère ensuite plusieurs formes et les déplace sur la page active.The code then retrieves several shapes and drops them on the active page.

    this.Application.Documents.Add("");
    
    Visio.Documents visioDocs = this.Application.Documents;
    Visio.Document visioStencil = visioDocs.OpenEx("Basic Shapes.vss",
        (short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenDocked);
    
    Visio.Page visioPage = this.Application.ActivePage;
    
    Visio.Master visioRectMaster = visioStencil.Masters.get_ItemU(@"Rectangle");
    Visio.Shape visioRectShape = visioPage.Drop(visioRectMaster, 4.25, 5.5);
    visioRectShape.Text = @"Rectangle text.";
    
    Visio.Master visioStarMaster = visioStencil.Masters.get_ItemU(@"Star 7");
    Visio.Shape visioStarShape = visioPage.Drop(visioStarMaster, 2.0, 5.5);
    visioStarShape.Text = @"Star text.";
    
    Visio.Master visioHexagonMaster = visioStencil.Masters.get_ItemU(@"Hexagon");
    Visio.Shape visioHexagonShape = visioPage.Drop(visioHexagonMaster, 7.0, 5.5);
    visioHexagonShape.Text = @"Hexagon text.";
    
    Me.Application.Documents.Add("")
    
    Dim visioDocs As Visio.Documents = Me.Application.Documents
    Dim visioStencil As Visio.Document = visioDocs.OpenEx("Basic Shapes.vss", CShort(Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenDocked))
    
    Dim visioPage As Visio.Page = Me.Application.ActivePage
    
    Dim visioRectMaster As Visio.Master = visioStencil.Masters("Rectangle")
    Dim visioRectShape As Visio.Shape = visioPage.Drop(visioRectMaster, 4.25, 5.5)
    visioRectShape.Text = "Rectangle text."
    
    Dim visioStarMaster As Visio.Master = visioStencil.Masters("Star 7")
    Dim visioStarShape As Visio.Shape = visioPage.Drop(visioStarMaster, 2.0, 5.5)
    visioStarShape.Text = "Star text."
    
    Dim visioHexagonMaster As Visio.Master = visioStencil.Masters("Hexagon")
    Dim visioHexagonShape As Visio.Shape = visioPage.Drop(visioHexagonMaster, 7.0, 5.5)
    visioHexagonShape.Text = "Hexagon text."
    

Voir aussiSee also

Solutions Visio Visio solutions
Présentation du modèle objet de Visio Visio object model overview
Utilisez des formes Visio Work with Visio shapes
Comment : copier et coller des formes dans un document Visio par programmeHow to: Programmatically copy and paste shapes in a Visio document