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上看到矩形。请指出这里的错误或任何有关相同的指针。
您的矩形似乎没有宽度和高度。可能这是原因吗? DrawRectangle接受x1,y1,x2,y2坐标。
缺少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";