В начало

Заполнить презентацию Power Point

 

 

            Для получения имен объектов в Power Point нужно в меню выбрать: Главная -> Выделить -> Область выделения.

Рис. Имена объектов в Power Point

 

Листинг. Модуль элемента формы справочника

&НаКлиенте

Процедура ЗаполнитьПрезентацию()

           

            Если НЕ ЗначениеЗаполнено(Объект.ИмяФайлаПрезентации) ИЛИ

                        НЕ ЗначениеЗаполнено(Объект.ИмяФайлаШаблона) Тогда

                                   Сообщить("Укажите шаблон и имя презентации!");

                                   ВОЗВРАТ;

            КонецЕсли;

             

            PowerPoint = Новый COMОбъект("PowerPoint.Application");

            Presentation = PowerPoint.Presentations.Open(Объект.ИмяФайлаШаблона, , , true);

            Слайд2 = Presentation.Slides.range(2);//Presentation.Slides.item(2)

            Диаграмма27 = Слайд2.shapes().item("Диаграмма 27");

            ТаблицаДиаграммы = Диаграмма27.Chart.ChartData.Workbook;

            Лист1 = ТаблицаДиаграммы.Sheets.Item(1);

           

            //============

            //Текущий год

            //============

            ТекСтрока = 2;

            ИтогПоВхЗвонкам = Объект.ТекГод.Итог("ВхЗвонки");

            Для Каждого Эл Из Объект.ТекГод Цикл

                        Лист1.Cells(ТекСтрока, 2).Value = Эл.ВхЗвонки;//Колонка 2

                        Лист1.Cells(ТекСтрока, 3).Value = Эл.ИсхЗвонки;//Колонка 3

                        Лист1.Cells(ТекСтрока, 4).Value = Эл.ОформлОбращений;//Колонка 4

                       

                        Слайд2.shapes().item("ЗвонкиНаЧеловека " + ТекСтрока).TextFrame.TextRange.Text = Эл.ПроцНапрНаЧелЗВОНКИ;

                        Слайд2.shapes().item("ЗаявкиНаЧеловека " + ТекСтрока).TextFrame.TextRange.Text = Эл.ПроцНапрНаЧелЗаявки;

                       

                        ТекСтрока = ТекСтрока + 1;

            КонецЦикла;

                       

            //================

            //Предыдущий год

            //================

            ТекСтрока = 2;

            Для Каждого Эл Из Объект.ПредГод Цикл

                        Лист1.Cells(ТекСтрока, 1).Value = Эл.Город + " " + Эл.ЧислНас;//Колонка 1

                        ТекСтрока = ТекСтрока + 1;

            КонецЦикла;

           

            //Сохранение в файл

            Presentation.SaveAs(Объект.ИмяФайлаПрезентации);

            PowerPoint.Quit();

            //ЗапуститьПриложение(ИмяФайла);

           

КонецПроцедуры

 

&НаКлиенте

Процедура Заполнить(Команда)

           

            ВремяНачала = ТекущаяДата();

           

            ЗаполнитьПрезентацию();

           

            Сообщить("Время заполнения, мин.:" + Формат((ТекущаяДата() - ВремяНачала)/60, "ЧДЦ=2"));

           

КонецПроцедуры