Partager via


Comment : ajouter des formes à un document Visio par programmation

Vous pouvez ajouter des formes à un document Microsoft Office Visio en extrayant les masques d'un stencil et en déplaçant les formes sur la page active.

Pour plus d'informations, consultez la documentation de référence sur VBA pour les méthodes Microsoft.Office.Interop.Visio.Documents.Add et Microsoft.Office.Interop.Visio.Page.Drop et la propriété Microsoft.Office.Interop.Visio.Application.ActivePage.

Ajout de formes à un document Visio

Pour ajouter des formes à un document Visio

  • Dans un document actif, extrayez les masques de la collection Documents.Masters et déplacez les formes sur celui-ci.Vous pouvez récupérer une forme de base à l'aide du nom de l'index ou du masque.

    L'exemple de code suivant crée un document Visio vierge, puis l'ouvre avec le stencil Formes de base ancré.Le code extrait ensuite plusieurs formes et les déplace sur la page active.

    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."
    
    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.";
    

Voir aussi

Tâches

Comment : copier et coller des formes dans un document Visio par programmation

Concepts

Vue d'ensemble du modèle objet Visio

Utilisation de formes Visio

Autres ressources

Solutions Visio