Помогите, может кто сталкивался:
Создаю документ в ворде, куда вставляю много диаграмм.
Почему-то периодически только что созданные диаграммы начинают открываться на редактирование
не внутри документа Word (типа внедренный объект), а в отдельном контейнере excel (появляется
отдельное окно Excel). При этом напрочь пропадает всякая возможность управлять размером
соответствующего InlineShape'а.
Какой-либо закономерности я не обнаружил. Ерунда такая наблюдается во всей линейке MS Office'ов.
Пробовал на разных компах.
Привожу маленькую прогу для эксперимента. После ее запуска открывается Word и создается 10 диаграмм.
У меня примерно на 7-ой начинаются вышеописанные глюки.
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Runtime.InteropServices;
namespace TestApp
{
class Program
{
static void Main(string[] args)
{
object v_missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word._Application v_word = null;
Microsoft.Office.Interop.Word._Document v_doc = null;
v_word = new Microsoft.Office.Interop.Word.Application();
v_word.Visible = true;
v_doc = v_word.Documents.Add(ref v_missing, ref v_missing, ref v_missing, ref v_missing);
v_doc.Activate();
for(int v_i = 0; v_i < 10; v_i++)
{
object v_type = "Excel.Chart";
object v_endOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */
object v_rng = v_doc.Bookmarks.get_Item(ref v_endOfDoc).Range;
Microsoft.Office.Interop.Word.Paragraph v_para = v_doc.Content.Paragraphs.Add(ref v_rng);
Microsoft.Office.Interop.Word.InlineShape v_shape = v_para.Range.InlineShapes.AddOLEObject(ref v_type, ref v_missing, ref v_missing, ref v_missing, ref v_missing, ref v_missing, ref v_missing, ref v_missing);
v_shape.Width = 300;
v_shape.Width = 400;
v_para.Range.InsertParagraphAfter();
}
}
}
}