构建一个VISIO插件,通过创建矩形并在其中包含文本来显示有关形状选择的相关数据

问题描述 投票:0回答:2
Visio.Page visioPage = this.Application.ActivePage;
//Create a rectangle
Visio.Shape details = visioPage.DrawRectangle(45, 45, 45, 45);
Visio.Selection selection = Window.Selection;
            foreach (dynamic item in selection)
            {
                Visio.Shape shp = item as Visio.Shape;
                if (shp != null)
                {  
                   //Dropping Rectangle on to the page
                   visioPage.Drop(details, 50, 50);
                }
 }

尝试上面的代码在Application_SelectionChanged事件内的visio上创建一个矩形。但是,无法在Visio上看到矩形。请指出这里的错误或任何有关相同的指针。

add-in visio office-addins
2个回答
1
投票

您的矩形似乎没有宽度和高度。可能这是原因吗? DrawRectangle接受x1,y1,x2,y2坐标。


0
投票

缺少Visio模板。

 Visio.Documents visioDocs = this.Application.Documents;
    // Get Basic Shapes Stencil
     Visio.Document visioStencil = visioDocs.OpenEx("Basic Shapes.vss",
                (short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenDocked);
    //Get Rectangle Shape
    Visio.Master visioRectMaster = visioStencil.Masters.get_ItemU(@"Rectangle");
    // Add Shape to Page
    Visio.Shape visioRectShape = visioPage.Drop(visioRectMaster, rectX, rectY);
    visioRectShape.NameU = "ShapeName";
© www.soinside.com 2019 - 2024. All rights reserved.