以编程方式将形状添加到 Visio 文档

可以通过从模具中检索主控形状并将形状放置在活动页面上,向 Microsoft Office Visio 文档添加形状。

有关详细信息,请参阅 Microsoft.Office.Interop.Visio.Documents.Add 方法、 Microsoft.Office.Interop.Visio.Application.ActivePage 属性和 Microsoft.Office.Interop.Visio.Page.Drop 方法的 VBA 参考文档。

向 Visio 文档添加形状

若要向 Visio 文档添加形状

  • 在文档处于活动状态的情况下,从 Documents.Masters 集合中检索主控形状并将形状放置在活动文档上。 可以使用索引或主控形状名称来检索主控形状。

    下面的代码示例创建一个空白 Visio 文档,然后在“基本形状” 模具停靠的情况下打开它。 该代码随后检索多个形状并将它们放置在活动页面上。

    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(@"5-Point 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.";