Создание надстройки VISIO для отображения соответствующих данных при выборе формы путем создания прямоугольника и включения в него текста - PullRequest
0 голосов
/ 03 сентября 2018
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. Пожалуйста, укажите здесь ошибку или любые указатели относительно того же.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Отсутствует VisioStencil.

 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";
0 голосов
/ 04 сентября 2018

Ваши прямоугольники имеют нулевую ширину и высоту. Может ли это быть причиной? DrawRectangle принимает координаты x1, y1, x2, y2.

...