rachu223 Ответов: 0

График выпуска обновления с помощью Microsoft.офис.слово.взаимодействия


Всем Привет,

Мы создали динамическую столбчатую диаграмму с помощью Microsoft word interop. Диаграмма генерируется успешно, но иногда она загружает новую диаграмму, а иногда сама берет данные и генерирует диаграмму с фиктивными данными.

Наш код выглядит следующим образом.

объект bookmarkName = " PlaceChartHere";
Файлы MSWord.WrdRng диапазон = wordDoc.Закладки.get_Item(номер модели / ref имя_закладки).Диапазон;
MSWord.InlineShape wrdInlineShape1 = wordDoc.InlineShapes.AddChart2(-1, XlChartType.xlColumnStacked, wrdRng);

var chartStackedCol = wrdInlineShape1.Диаграмма;

chartStackedCol.ChartTitle.Text = " Заголовок Диаграммы";

Microsoft.Офис.Взаимодействие.Превосходить.Рабочая книга obook1 = (Microsoft.Офис.Взаимодействие.Превосходить.Рабочая тетрадь)chartStackedCol.ChartData.Рабочая тетрадь;
Microsoft.Офис.Взаимодействие.Превосходить.Листа "лист1" = (Майкрософт.Офис.Взаимодействие.Превосходить.Рабочий лист) obook1.Рабочие Листы ["Лист1"];

Он откроет excel в фоновом режиме, используя фиктивные данные.

Мы изменили эти данные, используя код, как показано ниже.

((Microsoft.Офис.Взаимодействие.Превосходить.Диапазон) лист1.Ячейки[1, 2]). Значение = " Data1";
((Microsoft.Офис.Взаимодействие.Превосходить.Диапазон) лист1.Ячейки[1, 3]). Значение = " Data2";
((Microsoft.Офис.Взаимодействие.Превосходить.Диапазон) лист1.Ячейки[1, 4]). Значение = " Data3";

((Microsoft.Офис.Взаимодействие.Превосходить.Диапазон) лист1.Ячейки[2, 1]). Значение = " Test1";
((Microsoft.Офис.Взаимодействие.Превосходить.Диапазон) лист1.Ячейки[3, 1]). Значение = " Test2";

лист 1.Диапазон ["B2"].FormulaR1C1 = 10;
лист 1.Диапазон ["B3"].FormulaR1C1 = 20;

лист 1.Диапазон ["С2"].FormulaR1C1 = 30;
лист 1.Диапазон ["С3"].FormulaR1C1 = 40;

лист 1.Диапазон [Д2].FormulaR1C1 = 50;
лист 1.Диапазон ["D3"].FormulaR1C1 = 60;

Но иногда он берет свежие данные и генерирует диаграмму, а иногда берет фиктивные данные из excel и генерирует диаграмму с фиктивными данными.

Жду вашего ответа.
Спасибо,

Рачана Шах Вагхела

Что я уже пробовал:

Мы попробовали следующие методы обновления диаграммы. но не везет.

chartStackedCol.ChartData.Активировать();
chartStackedCol.Обновить();
wordApp. ScreenUpdating = true;
wordDoc.Приложения.ScreenRefresh();

0 Ответов