Вставка векторной фигуры Ellipse, Rectangle, Line, TextBox и др. в ячейку таблицы MSWord 2010

Приветствую господа программисты! )) Вчера целый день потратил на попытки вставить фигуру "Ellipse" в объединённую ячейку таблицы MSWord 2010. Казалось бы простая задача, но код на C# (WPF) отказывается корректно работать:

        Interop.Word.Shape shape = documentWord.Shapes.AddShape(Core.Mso~Oval, 6, 6, 10, 10, documentWord.Tables[0].Cell(1,5).Range);
        Interop.Word.InlineShape inlineShape = shape.ConvertToInlineShape();
        inlineShape.LockAncore = (int)True;

Эллипс вставляется не в ячейку таблицы, а в основной текст над таблицей. В конце строки (в скобках) "Range" - это Ancore(Якорь) привязки фигуры документа к диапазону текста. Если попробовать сразу создать inlineShape в таблице, то в предлагаемых вариантах нет эллипсов, прямоугольников, скругленных прямоугольников, но есть Picture, Text и др. Вручную, программно добавленный эллипс, легко перемещается в ячейку, но записать макрос действий не получается т.к. в этом режиме указатель мыши не захватывает фигуру для перетаскивания. Пишу программу, которая добавляет в документ MSWord сотни графических примитивов. Help, please ))


Ответы (1 шт):

Автор решения: soberus

Разобрался.
Если указать в качестве якоря ячейку таблицы, то координаты задаются всё равно относительно левого/верхнего угла листа (не inline).

Особенность якоря в том, что при компоновке нескольких фигур с одним якорем относительно друг друга они не разъезжаются! Микрософт, ты "гений"!

→ Ссылка