Интеграция приложений в excel

Содержание

Введение                                                                                                                          
5

1.

1.1
Классификация и возможности основных программ Microsoft Office   6

1.2
Интеграция приложений MS Office                                                         
9

1.3
Использование электронной таблицы в качестве источника данных для рассылок MS
Word                                                                                                  11

2. Охрана
труда и безопасность жизнедеятельности                                            
20

Заключение                                                                                                             
27

Список
использованных источников                                                                      
28

Введение

Табличный
процессор MS Excel (электронные таблицы) – одно из наиболее часто используемых
приложений пакета MS Office. Excel —
очень мощная программа, она отлично справляется с обработкой больших массивов
данных, сложных итеративных расчетов и формированием отчетов. Если необходимо
создать множество однотипных документов с различающимися реквизитами (например,
договоров с клиентами) или осуществить почтовую рассылку по базе контрагентов 
Excel справится и с этой задачей.

Программа легко может выходить за рамки своей
предметной области — электронных таблиц — за счет глубокой интеграции с другими
программами из пакета Microsoft Office.

         
Цель работы — исследовать интеграцию программы
MS Excel
с другими приложениями.

Задачи:
Изучить возможности основных программ Microsoft Office и рассмотреть
возможность интеграции приложений MS Office. Продемонстрировать возможность  интеграции
программы
MS Excel
с другими приложениями на примере использования электронной таблицы в качестве
источника данных для рассылок MS Word.

1.Основная часть

1.1.
Классификация и возможности основных программ Microsoft Office

Пакеты
прикладных программ (ППП) − это специальным образом организованные программные
комплексы, рассчитанные на общее применение в определенной проблемной области и
дополненные соответствующей технической документацией. Каждый ППП обладает
обычно рядом возможностей по методам обработки данных и формам их
представления,  что дает возможность пользователю выбрать подходящий для
конкретных условий вариант.

Самым
распространенным в мире офисным пакетом является Microsoft Office. По данным
International Data Corporation — одной из крупнейших компаний, работающих в
области компьютерной аналитики, это приложение установлено более чем на 95%
персональных компьютеров.

Пакет
Microsoft Office
включает программы:
Word, Excel, Outlook, PowerPoint.

Microsoft
Word — это многофункциональная система обработки текстов, обладающая полным
набором средств, необходимых для быстрого создания и эффективной обработки
документов любой степени сложности. Word обеспечивает редактирование текста,
предоставляя пользователю разнообразные инструменты форматирования (на уровне
символа, абзацев и разделов).

Форматированием
называется изменение внешнего вида текста, при котором не изменяется его
содержание.

На
уровне символа программа обеспечивает символьное форматирование (шрифт, размер шрифта,
расстояние между символами, полужирный текст, курсив, подчеркивание, цвет
текста).

На
уровне абзаца осуществляется форматирование абзаца (способ выравнивания,
межстрочные интервалы, обрамление абзацев, заливка абзаца, создание
маркированных списков).

Программа
 позволяет форматировать разделы, то есть участки документа, в пределах которых
сохраняют свой формат колонки, колонтитулы, нумерация страниц, сноски, поля и
некоторые другие параметры. Совокупность форматирования символов, абзацев и
разделов, а также параметров страницы (размер, фон и т.п.) определяет
информацию о макете документа. Word значительно облегчает работу при
форматировании документа, предоставляя возможность использовать стили.

Стиль
— это именованный и сохраненный набор параметров форматирования. Стиль может
определять шрифт, его размер, межстрочный интервал, способ выравнивания текста
по краям и т.д. Определив стиль, можно быстро применить его к любому фрагменту
текста документа. Форматировать текст с помощью стилей намного быстрее, чем
изменять вручную каждый элемент форматирования. Использование стиля гарантирует
единообразие внешнего вида определенных элементов документа. При внесении
изменений в определение стиля весь текст документа, к которому был применен
этот стиль, изменится в соответствии с новым определением стиля. В Word есть
целый ряд заранее определенных стилей, а также предусмотрена возможность
создавать пользовательские.

В
организациях создается множество повторяющихся (типовых) документов, подготовку
которых можно ускорить, используя специальные шаблоны. Шаблон позволяет быстро
изготавливать новые, аналогичные по форме документы, не тратя времени на
форматирование. Шаблоны могут содержать информацию о стилях, стандартных
текстах и даже панели инструментов, что позволяет унифицировать и
автоматизировать процесс подготовки документов. В комплект поставки Word входят
шаблоны многих стандартных документов.

Таким
образом, с помощью программы Word можно быстро оформить приказ, служебную
записку, подготовить научно-технический отчет, письмо или любой другой
документ, содержащий стандартные элементы.

Word
предлагает встроенные средства графики, позволяющие включать в текст схемы,
чертежи и диаграммы.

Важной
особенностью программы является возможность поиска и замены фрагментов текста,
сравнения версий документов, проверки правописания.

В
Word 2007 реализованы также возможности доступа к дополнительным ресурсам
(электронным словарям, шаблонам, клипартам, учебным материалам и т.п.), которые
собраны на специальном Web-узле Microsoft Office Online.

Microsoft
Outlook представляет собой мощное средство для работы с персональной
информацией. Программа объединяет функции электронной почты, личного календаря,
средства планирования, управления личной информацией (такой, как контакты), создания
специальных приложений для сотрудничества и совместного использования
информации.

Microsoft
Power Point — это популярная программа подготовки презентаций, которая широко
используется бизнесменами, преподавателями, лекторами и служащими офисов. Power
Point позволяет создавать наглядные презентации, интегрируя текст, графику,
видео и другие элементы на отдельных страницах, называемых «слайдами». Переходы
между слайдами при демонстрации презентации с компьютера могут быть анимированы
различными способами. Можно анимировать также отдельные элементы на слайдах,
чтобы привлечь к ним внимание аудитории. Как и в других программах, входящих в
MS Office, Power Point предоставляет множество готовых вариантов дизайна и
шаблонов содержания.

Microsoft
Excel — это идеальное средство для решения учетных задач, обработки
экспериментальных данных, составления отчетов и т.п.

Документ
Excel называется рабочей книгой. Книга Excel состоит из листов, представляющих
собой таблицы ячеек, в которых может храниться числовая и текстовая информация.
Таблицы Excel удобны для хранения и сортировки информации, для проведения
математических и статистических расчетов. Помимо работы с числами, в Excel
хорошо развиты возможности работы с текстом, позволяющие создавать документы
практически любой сложности. Excel располагает большим количеством шаблонов, с
помощью которых можно быстро оформить самые разные, в том числе финансовые,
документы.

Microsoft
Excel имеет массу встроенных функций для математических, статистических, финансовых
и других вычислений. Одна из важнейших функций программы — возможность
представления данных в виде разнообразных графиков, диаграмм и карт.

Программа
имеет возможности доступа к внешним источникам данных (таблицам другого
формата, базам данных).

1.2 Интеграция
приложений MS Office

Интеграция приложений заключается в обмене данными между ними.

Продукты семейства
Microsoft Office содержат однотипные панели инструментов, а также целый набор
инструментов, общих для всех приложений (механизмы проверки правописания,
средство для рисования, редактор диаграмм, библиотека клипартов, рисунков и
т.д.). Поэтому, научившись работе с одним из приложений, пользователи могут
легко освоить другие составляющие пакета.

Все приложения Microsoft
Office обеспечивают обмен данными между отдельными приложениями. Любое
приложение пакета позволяет поместить в документ (будь то текст, электронная
таблица, презентация) рисунок, видеофрагмент или звуковой ролик.

Пользователь,
подключенный к Сети, имеет возможность непосредственно из MS Office обратиться
к дополнительным сервисам.

Приложения семейства
Microsoft Office поддерживают совместную групповую работу над общими
документами, расположенными не только на локальном диске рабочей станции, но и
на соседнем компьютере или на сервере сети. Электронной таблицей Microsoft
Excel могут одновременно пользоваться несколько человек. Microsoft Word
позволяет создавать документ, над разными частями которого могут одновременно
работать разные исполнители.

За счет интеграции
приложений Microsoft Office пользователи пакета могут создавать весьма сложные
составные документы, содержащие данные из различных приложений. Способ обмена
данными между приложениями Microsoft Office (механизм связывания и внедрения
объектов) предоставляет пользователю возможность вставлять в документ,
созданный в одном приложении, фрагменты, созданные в других приложениях.

В общем виде описанные
возможности можно сформулировать следующим образом. Фрагмент, созданный в
приложении-источнике, можно поместить в документ приложения — приемника как
объект, в котором вместе со вставляемыми данными хранится информация о
приложении, создавшем этот объект.

Это позволяет
редактировать объект средствами создавшего его приложения. Объекты могут
представлять собой рисунок, текст, диаграмму, интервал ячеек, звуковой файл или
даже видеоклип. Например, в документ Word может быть внедрена диаграмма Excel,
слайд презентации PowerPoint или выборка из базы данных.

Механизм связывания
оригинального объекта и его копии обеспечивает эффективную работу с составными
документами, в которых используются различные источники. В частности, можно
настроить режим, при котором данные, помещенные в Word-документ из таблицы
Excel, будут обновляться автоматически в составном документе при обновлении источника
— таблицы Excel.

Приложения Microsoft
Office могут взаимодействовать и с приложениями, не входящими в пакет, в том
числе других производителей. Например, встроенные средства экспорта/импорта
позволяют обрабатывать документы, подготовленные в форматах других программ. В
частности, Excel позволяет загружать и обрабатывать документы в форматах других
табличных процессоров.

И наконец, внутрь
документа MS Office могут быть вставлены гиперссылки на любые документы.

1.3
Использование электронной таблицы в качестве источника данных для рассылок MS
Word

Подготовка
данных электронной таблицы

Таблица,
предназначенная для слияния, должна удовлетворять некоторым требованиям: в
таблице не должно быть объединенных ячеек, все столбцы должны иметь уникальные
названия, которые будут использоваться при слиянии.

В
качестве примера возьмем таблицу с перечнем Ф.И.О лиц, которым необходимо
отправить приглашение на конференцию в соответствии с рисунком 1. 

                         
Рисунок 1 – Таблица с перечнем Ф.И.О

Подготовка шаблона документа  Word

На этом этапе в текстовом
редакторе
Word
формируется документ в соответствии с рисунком 2, в который в дальнейшем будут
внедряться данные электронной таблицы. Текст этого документа представляет собой
общую для всех рассылок часть. Письма будут одинаковыми за  исключением
обращения. Обращения будут импортироваться из таблицы
Excel.

Screenshot_1.jpg

                              
Рисунок 2 —
Текст  документа с общей для
всех рассылок частью

Работа Мастера слияния MS Word

Проще всего осуществить слияние данных, следуя указаниям Мастера
слияния. Мастер слияния запускается с помощью кнопки  Начать
слияние на вкладке Рассылки в соответствии с рисунком 3.

                         Рисунок 3- Запуск Мастера слияния  

 Работа Мастера слияния включает 6 шагов.

1 шаг: выбираем тип документа для рассылки в соответствии с
рисунком 4, в нашем случае это Письма

                                          Рисунок
4- Выбор типа документа

2 шаг: выбираем документ, на основе которого будут создаваться рассылки,
им может быть открытый текущий документ, шаблон или существующий
документ. При выборе варианта Шаблон или Существующий
документ появляется возможность указать нужный файл в Проводнике. Мы
выбираем Текущий документ в соответствии с рисунком 5.

                                    Рисунок 5 –
Выбор документа

3 шаг: выбираем получателей. В нашем случае источником данных будет
таблица Excel, значит отмечаем вариант Использование списка. Затем с
помощью кнопки Обзор… выбираем нужный файл в Проводнике.

                                    Рисунок 6 –
Выбор источника данных

После выбора файла раскрывается диалоговое окно с
выбранной таблицей в соответствии с рисунком 7. Если нам нужны все записи, то
сразу нажимаем ОК. При необходимости можно список отсортировать, отфильтровать
нужные записи, либо найти их с помощью соответствующих команд.

В нашем случае требуется установить фильтр по
полю Рассылка по значению да»
.

Фильтр можно установить, щёлкнув мышкой по
названию поля и выбрав «да», либо воспользовавшись ссылкой Фильтр в
этом же диалоговом окне.

                      

                       Рисунок 7 — Диалоговое окно с
выбранной таблицей

4 шаг: вставляем нужные поля в документ.
Прежде, чем выбрать один из предложенных Мастером вариантов работы, следует
установить курсор в тексте туда, куда Вы хотите вставить данные. Если Вы забыли
это сделать, тоже ничего страшного, поля можно вставить в любое место
документа, а затем перенести. В нашем случае ставим курсор после слова
«Уважаем» перед восклицательным знаком. Так как нам нужны отдельные
поля, выбираем Другие элементы в соответствии с рисунком 8.

                               Рисунок 8 — Выбираем Другие
элементы

Раскрывается диалоговое окно для выбора полей
слияния.

                                               Рисунок 9 — Выбор
полей слияния

Выбираем поле Фамилия,
нажимаем Вставить, то же самое для полей Имя и Отчество. Закрываем
окно Вставка полей слияния и добавляем пробелы между вставленными
полями в соответствии с рисунком 10.

                   Рисунок 10 – Документ с
вставленными полями

Кроме указанных выше полей требуется вставить
окончание обращения ый (ая), которое зависит от значения поля Пол. Для
этого воспользуемся  специальным полем, позволяющим вставлять одно из двух
значений в зависимости от данных. Поставим курсор сразу после слова
«Уважаем» в соответствии с рисунком 11, нажмём
кнопку Правила на вкладке Рассылки и выберем вариант  IF…THEN…ELSE,
что означает (ЕСЛИ…ТОГДА…ИНАЧЕ).

    Рисунок
11 – Документ без вставленных окончаний

В раскрывшемся диалоговом окне зададим параметры
в соответствии с рисунком 12.

                            Рисунок 12- Параметры
формирования окончания

5 шаг: просматриваем получившиеся письма, используя кнопки
навигации в соответствии с рисунком 13. На этом шаге также можно изменить
список получателей, применив фильтр или убрав флажки.

     Рисунок 13 – Окно с кнопками навигации для
просмотра получателей

6 шаг: выбираем вариант Изменить часть писем… и
просматриваем получившийся документ в соответствии с рисунком 14, при
необходимости его можно отредактировать, сохранить как отдельный файл или отправить
на печать.

          
Рисунок 14 — Получившийся документ

2. Охрана труда и безопасность жизнедеятельности

 Пользователь автоматизированного рабочего
места  несет ответственность за сохранность и правильную эксплуатацию компьютерного
оборудования.

Установка
и изменение конфигурации операционной системы и состава программного
обеспечения производятся специалистами отдела технического обслуживания
информационных систем.

В
случае неисправности компьютерного оборудования об этом необходимо сообщить в
отдел технического обслуживания информационных систем.

Эксплуатация ЭВМ

Перед включением ЭВМ (ПК)
необходимо ознакомиться с аппаратным журналом и убедиться, что все устройства
ЭВМ были исправны при работе ранее.
Для подключения к сети электропитания необходимо использовать только
исправные силовые кабели, поставляемые с компьютерным оборудованием.
Включение ЭВМ (ПК) производить согласно инструкции по включению и
выключению на данную ЭВМ.

Запрещается включать
устройства, к работе которых сотрудник не имеет доступа. Запрещается снимать
крышки и щиты, закрывающие доступ к токоведущим частям. Запрещается включать и
отключать разъемы кабелей электропитания и блоков вентиляторов под напряжением.
П
рикасаться к задней панели компьютерного оборудования;
переключать разъемы кабелей периферийного оборудования; производить
самостоятельный ремонт компьютерного оборудования; удалять с корпуса наклейки с
заводскими и лицензионными номерами.

При
необходимости временного прекращения работы корректно закрыть все активные
программы.

Для
корректного выключения компьютера необходимо закрыть все работающие программы,
выбрать в меню «Пуск» команду «Завершение работы» и в
появившемся меню выбрать пункт «Завершение работы» и нажать кнопку
«ОК». Дождаться отключения питания системного блока, выключить
монитор и принтер.

Противопожарные
мероприятия

При техническом
обслуживании и эксплуатации ЭВМ (ПК) необходимо строго соблюдать правила
противопожарной безопасности.

Запрещается хранить в
машинном зале смазочные материалы. Включенные паяльники необходимо класть на
специальные подставки. Рабочие места, проходы и выход не должны загромождаться
посторонними предметами. По окончании работы все электроприборы должны быть
выключены. Курение, пользование электронагревательными приборами, открытым
огнем в данных классах запрещается.

При возникновении пожара
отключить оборудование (электроустановку), принять меры к ликвидации пожара,
сообщить дежурному персоналу. При ликвидации пожара применять средства тушения,
гасящее вещество которых не проводит электрический ток (огнетушители
углекислотные, порошковые).

 Лица, работающие в
классах, должны быть обучены приемам освобождения пострадавшего от
электрического тока, приемам искусственного дыхания, правилам оказания первой
помощи и способам тушения пожара в производственном помещении.

Лица, допустившие
нарушения, несут дисциплинарную, административную, уголовную ответственность.

Меры предосторожности

К самостоятельной работе
на ПК допускаются лица не моложе 18-ти лет, прошедшие медицинское
освидетельствование, специальное обучение, инструктаж по охране труда на
рабочем месте, изучившие “Руководство по эксплуатации” и усвоившие безопасные
методы и приемы выполнения работы.

ПК должен подключаться к
однофазной сети с нормальным напряжением 220 (120) В, частотой 50 (60) Гц и
заземленной нейтрально. Заземляющие контакты розеток должны быть надежно
соединены с контуром защитного заземления помещения. В помещении должен быть
установлен автомат аварийного или рубильник общего отключения питания.

Запрещается
самостоятельно производить ремонт ПК (его блоков), если это не входит в круг
ваших обязанностей.

При эксплуатации ПК
должны выполняться следующие требования, правила:

не подключать и не
отключать разъемы и кабели электрического питания при поданном напряжении сети;

не оставлять ПК
включенным без наблюдения;

не оставлять ПК
включенным во время грозы;

по окончании работы
отключить ПК от сети;

устройства должны быть
расположены на расстоянии 1 м от нагревательных приборов; рабочие места должны
располагаться между собой на расстоянии не менее 1,5 метров;

устройства не должны
подвергаться воздействию прямых солнечных лучей;

непрерывная
продолжительность работы при вводе данных на ПК не должна превышать 4 часов при
8-часовом рабочем дне, через каждый час работы необходимо делать перерыв 5-10
минут, через 2 часа на 15 минут;

в помещении, где
расположена компьютерная техника, должен быть оборудован уголок пожаротушения.

Санитарно-гигиенические
требования при работе с компьютером

В соответствии с СанПиН:
2.2.2.542-96 «Гигиенические требования к ВДТ и ПЭВМ. Организация
работы»

Все вредности,
возникающие при работе ВДТ и ПЭВМ можно разделить на три группы: Параметры
рабочего места и рабочей зоны.

Визуальные факторы
(яркость, контрастность, мерцание изображения, блики).

Излучения (рентгеновское,
электромагнитное излучение ВЧ и СВЧ диапазона, гамма-излучение,
электростатические поля).

Внедрение ЭВМ имеет как
положительные, так и отрицательные моменты. С одной стороны, это обеспечение
более высокой эффективности производства за счет совершенствования
технологического процесса и повышение производительности труда, а с другой —
увеличение нагрузки на работающих в связи с интенсификацией производственной
деятельности и специфическими условиями труда.

Условия труда работающих
с ЭВМ характеризуются возможностью воздействия на них следующих
производственных факторов: шума, тепловыделений, вредных веществ, статического
электричества, ионизирующих и неионизирующих излучений, недостаточной
освещенности, параметров технологического оборудования и рабочего места. 

Основными источниками
шума в помещениях, оборудованных вычислительной техникой, являются принтеры,
плоттеры, множительная техника и оборудование для кондиционирования воздуха,
вентиляторы систем охлаждения, трансформаторы.  Для снижения шума и вибрации в
помещениях вычислительных центров оборудование, аппараты необходимо
устанавливать на специальные фундаменты и амортизирующие прокладки,
предусмотренные нормативными документами.

Уровень шума на рабочих
местах не должен превышать 50 дБА. Нормируемые уровни шума обеспечиваются путем
использования малошумного оборудования, применением звукопоглощающих материалов
(специальные перфорированные плиты, панели, минераловатные плиты). Кроме того,
необходимо использовать подвесные акустические потолки.

В помещениях с избытком
тепла необходимо предусматривать регулирование подачи теплоносителя для
соблюдения нормативных параметров микроклимата. Микроклиматические условия на
рабочих местах в помещениях с вычислительной техникой должны соответствовать
требованиям. Воздух, поступающий в рабочие помещения операторов ЭВМ, должен
быть очищен от загрязнений, в том числе от пыли и микроорганизмов. Патогенной
микрофлоры быть не должно.

При профессиональном
отборе работников ЭВМ основное внимание обращается на состояние органов зрения:
состояния мышечного равновесия глаз, положительный запас аккомодации, цветовую
чувствительность, остроту зрения, рефракционную способность глаз, контрастную
чувствительность и поле зрения.

Организация рабочего
места

Приступая к работе на
компьютере желательно:

Осмотреть рабочее место
(расположение блоков и их состояние…).

Подобрать по высоте стул.

Монитор должен
располагаться на уровне глаз и перпендикулярно углу зрения.

Экран монитора должны
быть чистым.

Освещение должно
соответствовать нормам СанПиН.

Не рекомендуется
располагать монитор около яркого источника света, т.к. приходится повышать
яркость и контрастность, что влечет за собой: увеличение нагрузки на глаза,
излучения, сокращается срок службы монитора.

На мониторе не должно
быть бликов, сильного контраста с внешним освещением.

Мышь располагается так,
чтобы было удобно работать с ней. Провод должен лежать свободно. При работе с
мышью по периметру коврика должно оставаться пространство не менее 2-5
сантиметров.

Клавиатуру следует
располагать прямо перед пользователем, работающим на компьютере. По периметру
оставляется свободное место 2-5 сантиметров.

 Устанавливать системный
блок следует устойчиво на ровной поверхности таким образом, чтобы углы
системного блока не выступали за края стола. Лучше установить его на полу
(специальной подставке) под столом.

 Лучше всего использовать
специальный компьютерный стол со столешницей достаточной глубины, местом под
системный блок и выдвижной доской для клавиатуры и мышки. Это позволит
использовать стол и для других целей.

 Чтобы надежно
обезопасить компьютер от неожиданностей и неприятностей, имеет смысл потратить
средства на источник бесперебойного питания или, как минимум, установить
заземленную розетку с фильтрами.

 Содержите вентиляционные
отверстия системного блока и монитора открытыми, не захламляйте стол бумагами,
журналами и книгами. Ухудшение условий охлаждения может существенно сократить
срок жизни монитора и компьютера. Если на столе скапливается много документов,
имеет смысл установить монитор на специальном кронштейне (подставке), чтобы
приподнять его.

При работе с мышкой
следует обзавестись хорошими привычками. Есть правила, которые стоит неукоснительно
выполнять:

Запястье должно быть
прямым. Никогда не опирайтесь на запястье, лежащее на столе. Не изгибайте
суставы запястья: оно должно лежать в естественном положении.

Не сжимайте мышку с
силой. Это вызывает ненужное напряжение мышц, нарушает кровообращение и
затрудняет движения. Если мышь не слушается, почистите ее.

Не работайте с мышкой
полностью вытянутой рукой. Подбирая рабочий стол, выбирайте такой, чтобы за
мышкой не приходилось тянуться слишком далеко. Для движения мышкой должно быть
достаточно свободного места.

Некоторые предпочитают
обычной мыши трэкбол. Этот манипулятор имеет свои достоинства и недостатки: для
него требуется меньше пространства на столе и меньше приходиться двигать рукой,
зато гораздо больше приходиться работать пальцами. Используйте то устройство,
применение которого вам лично кажется более естественным.

 Оптимальная высота стола
или выдвижной полки для клавиатуры 68 – 73 см. над полом. Высоту стула и стола
следует подобрать так, чтобы минимально напрягать мышцы плечей, рук и запястий.
Запястья могут касаться стола перед клавиатурой. Но ни в коем случае нельзя
переносить на них хотя бы часть веса тела. Клавиатура регулируется по высоте
наклона. Подберите для себя наиболее удобный угол наклона.

У компьютера довольно много
кабелей и проводов. Их лучше всего собрать сзади стола. Но стол необходимо
отодвинуть от стены, чтобы в этом пространстве кабели не запутались между
собой.

 Чтобы уменьшить
отражение и блики на экране, размещайте домашний компьютер перпендикулярно окну.
Обеспечьте достаточное местное освещение, направленное на документ, чтобы можно
было выключать общее освещение в помещении и снижать яркость бликов.

Не стоить экономить на
хорошем стуле или удобном кресле, регулируемом по высоте и специально
предназначенном для работы за компьютером. Перед компьютером очень важно
соблюдать правильную позу.

Заключение

В
заключении можно сформулировать  общие цели интеграции приложений  следующим
образом: это избавление от повторного ручного ввода  данных;  увеличение
скорости выполнения задачи; высокое качество выполнения задачи за счет
минимизации человеческого фактора, как основного источника ошибок.

В
ходе выполнения выпускной квалификационной работы были решены следующие задачи:

рассмотрены возможности основных программ Microsoft Office и возможность их интеграции, 
пример использования электронной таблицы в качестве источника данных для
рассылок MS Word.

Итогом выпускной квалификационной работы является создание
видеоролика с ходом выполнения рассылки
.

СПИСОК
ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1.                
Алтынова Н. Расширенные возможности
Microsoft Excel 2007 М.: Центр компьютерного обучения «Специалист», 2007. —  83
с.

2.                
Гладкий А.А., Чиртик А.А. Excel 2007.
Трюки и эффекты
 СПб.: Питер, 2007.
— 368 с.

3.                
Иванов И.И. Microsoft Excel  для
квалифицированного пользователя

М.: Академия АйТи, 2011. — 243 с.

4.                
Маккормик Д. Секреты работы в Windows,
Word, Excel: Полное руководство для начинающих / Игорь Тимонин (пер.с англ.).
Х. : Книжный Клуб «Клуб Семейного Досуга», 2007. —  240с.

5.                
Меженный О.
А. Microsoft
Office 2010.
Краткое руководство. — М.: «Диалектика»,
2010. — 368 с.

6.                
http://www.excelworld.ru/ — Мир MS
Excel/Статьи об Excel

7.                
http://excel7.ru/ —
САМОУЧИТЕЛЬ ПО EXCEL 2007-2010

analitica.jimdo.com

Интеграция с другими программами — Макросы в Excel

9-13 минут


Не стоит забывать и о возможностях интеграции VBA с другими приложениями. Монополия это конечно плохо, но в данном случае именно монопольное положение Microsoft дало нам столько возможностей по интеграции различных приложений друг в друга.

Итак, с чем и как можно интегрировать VBA?

Текстовый файл

Текстовые переменные, если они большие, можно хранить в текстовом файле. Это удобно еще и потому, что в этом случае любой человек может редактировать текст, не влезая в код, а значит и не имея возможности его сломать.

    ‘ объявляем о начале использования такого типа объекта

    Set fso = CreateObject(«scripting.filesystemobject»)

    ‘ открываем нужный файл

    Set tS = fso.OpenTextFile(full_name_of_txt-file, 1, True)

    ‘ присваиваем стринговой переменной весь текст, содержащийся в файле

    msg_text = tS.ReadAll

    ‘ закрываем текстовый файл

    tS.Close

Просмотр файлов в папке

Средствами VBA можно получить список файлов, находящихся в папке, причем не только файлов MS Office, но и всех остальных. Это бывает нужно, например, чтобы открыть все файлы и напечатать, открыть несколько стандартных файлов и агрегировать хранящуюся в них информацию или чтобы просто получить список имеющихся файлов. Для этого можно воспользоваться функцией Dir(путь, тип файла). Функция возвращает имена файлов из папки.

При первом запуске функция выдает имя первого по порядку подходящего файла из указанной папки. Важно указывать на конце папки, иначе функция выдаст ошибку либо пустое значение. После того, как мы получили имя файла, мы можем его открыть и работать с ним. Потом нам нужно открыть следующий файл из папки. Для этого снова вызываем Dir, но без аргументов. А когда файлы закончатся, функция выдаст пустое значение — «».

Работу функции проще понять на примере.

Допустим, в папке «C:Documents and Settings» лежит три Excel-файла, и мы хотим их открыть.

Тогда наш макрос будет выглядеть так:

       dr = Dir(«C:Documents and Settings», vbNormal)

       Do While dr <> «»

              Workbooks.Open(«C:Documents and Settings» & dr)

             dr = Dir()

       Loop

SQL-server

Подключение VBA к SQL может потребоваться в куче разных мест. Например у меня оно понадобилось совсем внезапно: caption полей в кубе и их key не совпадали. То есть когда я хотела проставить какие-то вещи, я имела их «человеческий» список, а в макрос мне нужно было подставлять «компьютерный». Соответствие одного с другим я и получала в базе.

Итак приступим.

Сначала запомним в переменную строку подключения, которую будем использовать потом. Её легче всего получить, настроив такое же подключение в Excel и потом просто скопировать оттуда готовую. Она будет примерно такая:

    cnstr = «Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=MyServerName;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=MyCompName;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=MyDatabaseName»

     ‘ делаем коннект

    Set cn = New ADODB.Connection

    ‘ указываем, что в этом коннекте у нас будет recordset с именем rs

    Set rs = New ADODB.Recordset

    ‘ открываем коннект с нашей строкой подключения

    cn.Open cnstr

Затем получаем данные. Обратите внимание, что так как скрипт это всего лишь строка, вы можете подставлять туда разные переменные и др., полученные до этого в коде.

    rs.Open «select * from table», cn

Пробег по строчкам recordset-а описывается достаточно странно, работать с ним неудобно. Гораздо удобнее перезаписать данные в массив VBA. Поэтому бежим по строчкам recordset-а

    i = 0

    Do While Not rs.EOF

        ReDim Preserve arr(i)

        arr(i) = rs.Fields(0).Value

        rs.MoveNext

        i = i + 1

    Loop

Если вам не нужно получать данные, а нужно просто выполнить код, то можно воспользоваться командой execute

    StrSql = «insert into ReportByIdList(ID,Name)      values(1, report)»

    cn.Execute StrSql

LotusNotes и другие Lotus-приложения.

LotusNotesявляется почтовым клиентом, однако, позволяет делать еще массу других вещей, например, он также является браузером и календарем. Можно совершать различные действия в Lotus, не выходя из Excel’я или Word’а. Скрипт достаточно труден, а подсказок в интернете не так уж и много, но иногда результат оправдывает все потраченные силы.

Начать сессию можно двумя способами.

Способ 1. Надо поставить галочку в Tools — References на объекты Лотуса, чтоб VBA подгрузил команды и справку Lotus’а. Лучше только одну галку, а то всё будет дублироваться

    Dim session As New NotesSession

    session.Initialize

Способ 2 (в дальнейшем все команды представлены для способа 2)

    Dim NotesSession As Object

    Dim NotesDB As Object

    Dim NotesDOC As Object

    Dim rrr As Object

    Dim vview As Object

    Set NotesSession = CreateObject(«Notes.Notessession»)

Далее нужно обозначить, в какой базе данных Лотуса мы будем работать. Можно работать в текущей базе, т.е. в последней открытой

    Setdb = NotesSession.CurrentDatabase

Или обозначить базу, используя имя сервера и путь к файлу, который хранит базу

    Set db = NotesSession.GetDatabase(«Server22 «, «organization.nsf»)

Такая база может быть не открыта, тогда её надо открыть (уточнить, open или openmail)

    If db.IsOpen = False Then db.OPENMAIL

В базах есть разные представления данных (например, входящие письма, исходящие письма и др). Нужно выбрать, из какого представления нам нужны документы. К представлению можно обратиться по имени

    Set vview = db.GetView(«($Sent)»)

А можно перебрать все имеющиеся в базе представления (здесь именно View, а не абы что, иначе не работает)

    For Each View In db.Views

        MsgBox (View.Name)

    Next

Далее из выбранных вьюх можно вытащить помещенные в них документы

    Set rrr = vview.GetFirstDocument

или соответственно

    Set rrr = View.GetFirstDocument

Чтобы перейти к следующему документу, пишем

    Set rrr = vview.GetFirstDocument(rrr)

или

    Set rrr = View.GetFirstDocument(rrr)

У документа есть поля. Их имена можно посмотреть, щелкнув п.к.м по документу (письму, записи о сотруднике, служебке и т.д.), открыв «свойства документа» и выбрав вторую иконку (треугольничек)

Значение тех или иных полей можно получить, например, так

    MsgBox (rrr.GetItemValue(«Name»)(0)) 

    MsgBox (rrr.GetItemValue(«Branch»)(0))

    MsgBox (rrr.GetItemValue(«Sendto»)(0))

Поля — это массивы. Отсюда и (0) в конце — это просто обращение к конкретному элементу массива. Каков размер этих массивов можно узнать функцией ubound. Поэтому тот же результат можно получить через присваивание массиву:

    Dim doc() As String

    doc = rrr.GetItemValue(«$Name»)

    MsgBox (doc(0))

Можно создавать новые документы (по крайней мере письма можно, остальное, возможно, зависит от наличия админских прав). Пример создания письма:

    Set NotesDOC = NotesDB.CreateDocument

    Call NotesDOC.ReplaceItemValue(«From», «адрес отправителя»)

        With NotesDOC

          .Form = «Memo»

          .sendto = «тут адрес получателя»

          .Principal = «тут адрес отправителя»

          .subject = «Тема письма»

          .body = «Текст письма»

          .SAVEMESSAGEONSEND = True

          .PostedDate = Now()

          .Send 0

        EndWith

Можно делать вложения файлов в письмо. Для этого после создания письма нужно определить файлы, которые будут вложены. Получим:

   Set NotesDOC = NotesDB.CreateDocument

   ‘ первое вложение

      Set NotesAttachment = NotesDOC.CreateRichTextItem(«stFileName»)

      Set NotesEmbedObject = NotesAttachment.EmbedObject(1454, «», stFileName, stFileName2)    ‘1454 — параметр lotus (attachment)

      ‘ второе вложение

      Set NotesAttachment2 = NotesDOC.CreateRichTextItem(«stFileName2»)

      Set NotesEmbedObject2 = NotesAttachment.EmbedObject(1454, «», stFileName2)

      и т.д.

После этого идут все те же строки отправки:

    Call NotesDOC.ReplaceItemValue(«From», «адрес отправителя»)

        With NotesDOC

          .Form = «Memo»

          .sendto = «тут адрес получателя»

          .Principal = «тут адрес отправителя»

          .subject = «Тема письма»

          .body = «Текст письма»

          .SAVEMESSAGEONSEND = True

          .PostedDate = Now()

          .Send 0

        EndWith

Отправлять письмо сразу нескольким получателям можно, записав адреса получателей в массив и указав этот массив в строке sendto. Например:

   resipients = Split(«test1, test2, test3»)

   .SendTo = resipients

или 

   resipients[0] = «test1»

   resipients[1] = «test2»

   resipients[2] = «test3»

   .SendTo = resipients

Свойства баз Lotus

Сервер и путь к файлу базы данных можно посмотреть где-то в свойствах, а можно сначала войти в неё через

Setdb = NotesSession.CurrentDatabase,

а потом вытащить её свойства:

    MsgBox (db.Server)

    MsgBox (db.FilePath)

Есть еще другие свойства, и если поставлена галочка в Tools — References на объекты Лотуса, то их можно смотреть в ObjectBrowser.

Кроме того, в параметрах Excel(Файл -> Параметры) есть некоторые настройки, связанные с Lotus, которые могут быть полезны.

Из песочницы, Разработка веб-сайтов, Разработка под Windows, Проектирование и рефакторинг, Разработка для Office 365


Рекомендация: подборка платных и бесплатных курсов создания сайтов — https://katalog-kursov.ru/

Не секрет, что Excel довольно мощный инструмент для работы с числовыми табличными данными. Однако средства, которые предоставляет Microsoft для интеграции с ним, далеки от идеала. В частности, сложно интегрировать в Excel современные пользовательские интерфейсы. Нам нужно было дать пользователям Excel возможность работать с довольно насыщенным и функциональным интерфейсом. Мы пошли несколько другим путем, который в итоге показал хороший результат. В этой статье я расскажу, как можно организовать интерактивное взаимодействие Excel c веб-приложением на Angular и расшить Excel практически любым функционалом, который реализуем в современном веб-приложении.

Итак, меня зовут Михаил и я CTO в Exerica. Одна из проблем которые мы решаем — облегчение работы финансовых аналитиков с числовыми данными. Обычно они работают как с исходными документами финансовой и статистической отчетности, так и каким-либо инструментом для создания и поддержания аналитических моделей. Так сложилось, что 99% аналитиков работают в Microsoft Excel и делают там довольно сложные вещи. Поэтому перевести их с Excel на другие решения не эффективно и практически невозможно. Объективно, «облачные» сервисы электронных таблиц до функционала Excel пока не дотягивают. Но в современном мире инструменты должны быть удобны и соответствовать ожиданиям пользователей: открываться по клику мышки, иметь удобный поиск. А реализация в виде разных несвязанных приложений будет довольно далека от ожиданий пользователя.

То с чем работает аналитик выглядит примерно так:

Основные данные тут — это числовые «финансовые показатели», например, доход за 1 квартал 2020 года. Для простоты буду называть их дальше просто «числами». Как видно, почти никакой связи между числами в документе и в аналитической модели нет, все только в голове у аналитика. И работа с заполнением и поддержанием модели занимает часы поиска и перебивания чисел из документа в таблицы, а потом поиск ошибок ввода. Вместе этого мы хотели бы предложить пользователю привычные инструменты: «перетаскивание», вставка через клипборд и так далее, а также быстрый просмотр исходных данных.

Что у нас уже было

К моменту, когда мы начали реализацию интерактивного взаимодействия с Excel в виде, изложенном в этой статье, у нас уже была база данных на MongoDB, бэкэнд в виде REST API на .NET Core, фронтовое SPA на Angular и некоторые другие сервисы. Мы к этому моменту уже пробовали разные варианты интеграции в приложения электронных таблиц, в том числе и в Excel, и все они не пошли дальше MVP, но это тема отдельной статьи.

Связываем данные

В Excel существует два распространенных инструмента, с помощью которых можно решить задачу связывания данных в таблице с данными в системе: RTD (RealTimeData) и UDF (User-Defined Functions). Чистый RTD менее удобен для пользователя в плане синтаксиса и ограничивает гибкость решения. С помощью UDF можно создать кастомную функцию, которая будет работать привычным для Excel-пользователя образом. Ее можно использовать в других функциях, она понимает ссылки типа A1 или R1C1 и вообще ведет себя как надо. При этом никто не мешает использовать механизм RTD для обновления значения функции (что мы и сделали). UDF мы разрабатывали в виде Excel addin с использованием привычного нам C# и .NET Framework. Для ускорения разработки мы использовали библиотеку Excel DNA. 

Кроме UDF наш addin реализует ribbon (панель инструментов) с настройками и некоторыми полезными функциями по работе с данными.

Добавляем интерактивность

Для передачи данных в Excel и налаживания интерактива мы разработали отдельный сервис, который предоставляет подключение по Websocket при помощи библиотеки SignalR и фактически является брокером для сообщений о событиях, которыми должны обмениваться «фронтовые» части системы в реальном времени. Он у нас называется Notification Service.

Вставляем данные в Excel

В нашем SPA мы подсвечиваем все числа, которые обнаружила система. Пользователь может выделять их, навигировать по ним и т.п. Для вставки данных мы реализовали 3 механизма, чтобы закрыть различные варианты использования:

  • Перетаскивание (drag-and-drop)
  • Автоматическая вставка по клику в SPA
  • Копирование и вставка через клипборд

Когда пользователь инициирует drag’n’drop некоторого числа из SPA, для перетаскивания формируется ссылка с идентификатором этого числа из нашей системы (.../unifiedId/005F5549CDD04F8000010405FF06009EB57C0D985CD001). При вставке в Excel наш addin перехватывает событие вставки и парсит регэкспом вставляемый текст. При обнаружении валидной ссылки на лету подменяет ее на соответствующую формулу =ExrcP(...).

При клике на числе в SPA через Notification Service отправляется сообщение в addin, содержащее все необходимые данные для вставки формулы. Далее формула просто вставляется в текущую выделенную ячейку.

Эти способы хороши, когда пользователю нужно вставлять в свою модель по одному числу, но если надо перенести целую таблицу или ее часть, необходим другой механизм. Наиболее привычным для пользователей представляется копирование через клипборд. Однако этот способ оказался сложнее первых двух. Дело в том, что для удобства вставляемые данные должны быть представлены в нативном для Excel формате — OpenXML Spreadsheet. Наиболее просто это реализуется используя объектную модель Excel, то есть из addin’а. Поэтому процесс формирования клипборда у нас выглядит так:

  • Пользователь выделяет область с числами в SPA
  • Массив выделенных чисел передается на Notification Service
  • Notification Service передает его в addin
  • Addin формирует OpenXML и вставляет его в клипборд
  • Пользователь может вставить данные из клипборда в любое место любой Excel-таблицы.

Несмотря на то, что данные проделывают довольно долгий путь, благодаря SignalR и RTD происходит это довольно быстро и абстрагированно от пользователя. 

Распространяем данные

После того, как пользователь выбрал начальные данные для своей модели, их надо «распространить» все периоды (года, полугодия и кварталы), которые представляют интерес. Для этих целей одним из параметров нашей UDF является дата (период) данного числа (вспоминаем: «доход за 1 квартал 2020 года»). В Excel существует нативный механизм «распространения» формул, который позволяет заполнить ячейки той же формулой с учетом ссылок, заданных в параметрах. То есть вместо конкретной даты в формулу вставлена ссылка на нее, а далее пользователь «распространяет» ее на другие периоды, при этом в таблицу автоматически загружаются «те же» числа из других периодов. 

А что это там за число?

Теперь у пользователя есть модель на несколько сотен строк и несколько десятков столбцов. И у него может возникнуть вопрос, что же там за число в ячейке L123? Чтобы получить ответ, у нас ему достаточно кликнуть на эту ячейку и в нашем SPA откроется тот самый отчет, на той самой странице, где записано кликнутое число, а число в отчете будет выделено. Вот так:

А если это не просто одно число из отчета, а результат некоторых вычислений на числах, взятых из отчета, то мы подсветим все числа, входящие в вычисляемое в Excel выражение. При этом не происходит загрузки всего приложения и подгрузки всех необходимых данных, как в случае перехода по ссылке.

В качестве заключения

Вот такая, на мой взгляд, нестандартная реализация взаимодействия между Excel и веб-приложением получилась довольно удобной для пользователя. Благодаря использованию Excel порог входа для пользователей из целевой аудитории довольно низкий. При этом мы получаем также всю мощь Excel по работе с числовыми данными. Сами данные всегда остаются связанными с источником, а также связанными во времени. Для целевых клиентов нет необходимости встраивать в бизнес-процесс работы с данными абсолютно новые внешние системы. Наше решение встраивается как дополнительный «инструмент» внутри Excel, что является стандартом де-факто для провайдеров финансовых данных.

Подобный архитектурный подход к интеграции веб-приложений с Microsoft Excel может быть применим и для решения других задач, требующих интерактива и сложных пользовательских интерфейсов при работе с числовыми и табличными данными.

Связь с другими программами

При
работе с планом проекта может оказаться,
что средств программы Microsoft
Project
вам недостаточно. Например, вам потребуется
произвести вычисления с данными проекта
и построить различные графики. С другой
стороны, может возникнуть
ситуация, когда у заказчика или участника
проекта отсутствует Microsoft
Project.

В
этой главе вы узнаете о связи Microsoft
Project
с другими программами. Обме­ниваясь
данными с программой Microsoft
Excel
[Майкрософт Эксел], вы можете выполнить
сложные расчеты с данными проекта,
создать разнообразные диа­граммы, а
также включить электронную таблицу в
план проекта.

Если
ваш план проекта получился достаточно
большим, может оказаться удоб­ней
работать с данными проекта, используя
базу данных программы Microsoft
Access
[Майкрософт Эксес]. Эту программу также
удобно использовать для по­полнения
существующей базы данных информацией
из проекта и, наоборот, для включения
базы данных в план.

Импортировав
план проекта в программу Microsoft
Outlook
[Майкрософт Аутлук], можно
создать механизм напоминания сотрудникам
о необходимости выполне­ния
определенной работы в заданное время.
Если вы создали в Microsoft
Outlook
список
людей, его можно включить в проект как
дополнительные ресурсы.

Если
экспортировать план проекта в Web-формат
и разместить его на сайте, то с
планом сразу могут познакомиться другие
участники и заказчик, что сущест­венно
повысит эффективность совместной работы
над проектом.

Если
вы экспортируете диаграмму из плана
проекта в изображение, то потом в
графическом редакторе будет возможность
внести изменения или просмотреть
рисунок.

Интеграция с программой Microsoft Excel

При
создании проекта может оказаться, что
у некоторых участников проекта установлена
только программа Microsoft
Excel.
В этом случае следует воспользо­ваться
возможностью интеграции программ
Microsoft
Project
и Microsoft
Excel.
Кроме того, Microsoft
Excel
полезно использовать для выполнения
сложных рас­четов
с данными проекта, создания разнообразных
диаграмм. В этом разделе вы рассмотрите
интеграцию с программой Microsoft
Office
Excel
2003, т.е. узнаем, как
копировать электронную таблицу в план
проекта, перемещать диаграмму Ганта
в документ Microsoft
Excel,
импортировать и экспортировать план
проекта.

Сначала
скопируем ячейки электронной таблицы
в план проекта.

  • Нажмите
    кнопку Пуск
    (Start)
    на Панели
    задач
    (Taskbar)
    операционной системы
    Windows.
    На экране появится основное меню.

  • Выберите
    команду Все
    программы ♦
    Microsoft
    Office
    Microsoft
    Office
    Excel
    2003
    (All
    Programs
    ♦ Microsoft
    Office
    ♦ Microsoft
    Office
    Excel
    2003) из основного
    меню. На экране появится рабочее окно
    программы Microsoft
    Excel
    (Рис.
    7.1).


Рис.
7.1. Рабочее окно программы
Microsoft
Excel

  • Нажмите
    комбинацию клавиш Alt+F1.
    чтобы закрыть Область
    задач
    (Task
    Рапе)
    в правой части рабочего окна программы
    Microsoft
    Excel
    (Рис. 7.2).

  • В
    ячейку А1 введите слово Microsoft.

Рис.
7.2. Область задач (
Task
Pane)
скрыта

  • В
    ячейку А2 введите слово Project
    (Рис. 7.3).

Рис.
7.3. Заполненные ячейки

  • Установите
    указатель мыши на ячейку А1.

  • Нажмите
    и удерживайте левую кнопку мыши.

  • Не
    отпуская левую кнопку мыши, переместите
    мышь к ячейке А2.

  • Отпустите
    левую кнопку мыши. Диапазон ячеек А1
    :А2 будет выделен.

  • Нажмите
    кнопку копировать
    на панели инструментов Стандартная
    (Standard).
    Выде­ленный
    диапазон ячеек будет скопирован в буфер
    обмена.

  • Щелкните
    мышью на кнопке с программой Microsoft
    Project
    на Панели
    задач
    (Taskbar)
    для перехода к данной программе.

  • Нажмите
    кнопку создания нового документа на
    панели инструментов Стандартная
    (Standard),
    чтобы открыть
    новый документ.

  • Щелкните
    мышью на первой ячейке столбца Название
    задачи
    (Task
    Name).

  • Нажмите
    кнопку вставить
    на панели инструментов Стандартная
    (Standard).
    В окне программы
    Microsoft
    Project
    появится список задач (Рис. 7.4).

Рис.
7.4. Вставленные данные из электронной
таблицы

Иными
словами, программа Microsoft
Project
интерпретировала вставленные из
электронной
таблицы данные как список задач.

  • Выберите
    команду меню Файл
    ♦ Закрыть
    (File
    ♦ Close).
    На экране появится диалог
    с вопросом о сохранении документа (Рис.
    7.5).

Рис.
7.5. Диалог с вопросом о сохранении
документа

  • Нажмите
    кнопку Нет
    (No),
    чтобы закрыть диалог и не сохранять
    документ.

Теперь
скопируем диаграмму Ганта в программу
Microsoft
Excel.

  • Выберите
    команду меню Вид
    ♦ Диаграмма Ганта
    (View
    ♦ Gantt
    Chart)
    для перехода
    к диаграмме Ганта в нашем плане проекта.

  • Перетащите
    мышью полоску, разделяющую список задач
    и диаграмму Ганта, в крайнее левое
    положение, чтобы весь экран занимала
    диаграмма (Рис. 7.6).

Рис.
7.6. Диаграмма Ганта

  • Выберите
    команду меню Правка
    ♦ Копировать рисунок
    (Edit

    Сору
    Picture).
    На экране появится диалог Копирование
    рисунка
    (Copy
    Picture)
    (Рис.
    7.7).

Рис.
7.7. Диалог
Копирование
рисунка
(Copy
Picture)

  • Если
    в группе элементов управления
    Преобразовать
    изображение
    (Render
    image)
    не установлен переключатель для
    отображения на экране
    (For
    screen),
    то установите его, чтобы скопировать
    рисунок в буфер обмена.

  • Убедитесь,
    что в группе Копировать
    (Сору)
    установлен переключатель отображаемые
    строки
    (Rows
    on
    screen)
    для копирования всего содержимого
    рабочего
    окна программы.

  • Если
    в группе Шкала
    времени
    (Timescale)
    не установлен переключатель как
    на
    экране
    (As
    shown
    on
    screen),
    то установите его, чтобы при копировании
    сохранить
    шкалу времени неизменной.

  • Нажмите
    кнопку ОК, чтобы закрыть диалог
    Копирование
    рисунка
    (Сору
    Picture).
    Диаграмма Ганта будет скопирована в
    буфер обмена.

  • С
    помощью мыши верните полоску, разделяющую
    список задач и диаграмму Ганта,
    в прежнее центральное положение.

  • Щелкните
    мышью на кнопке с программой Microsoft
    Excel
    на Панели
    задач
    (Taskbar)
    для перехода к данной программе.

  • Щелкните
    мышью на ячейке A3.

  • Выберите
    команду меню Правка
    ♦ Вставить
    (Edit
    ♦ Insert).
    В электронную таблицу
    будет вставлена диаграмма Ганта (Рис.
    7.8).

Рис.
7.8.
Диаграмма
Ганта в
Excel

Сейчас
импортируем план проекта из Microsoft
Excel
в Microsoft
Project.

  • Нажмите
    кнопку создания нового документа на
    панели инструментов Стандартная
    (Standard),
    чтобы открыть новый документ в Microsoft
    Excel.

  • Если
    в рабочем окне программы Microsoft
    Excel
    отсутствует панель Область
    задач
    (Task
    Pane),
    то выберите команду меню Вид
    ♦ Панели инструментов ♦
    Область
    задач
    (View
    ♦ Toolbars
    ♦ Task
    Pane).
    В правой части рабочего окна программы
    Microsoft
    Excel
    появится панель Область
    задач
    (Task
    Pane)
    (Рис. 7.1).

  • Из
    открывающегося списка в верхней части
    Области
    задач
    (Task
    Pane)
    выберите
    Создание
    книги
    (New
    Workbook).
    Вид панели Область
    задач
    (Task
    Pane)
    изменится (Рис. 7.9).

Рис.
7.9. Панель
Создание
книги
(New
Workbook)

  • В
    разделе Шаблоны
    (Templates)
    на панели Создание
    книги
    (New
    Workbook)
    щелкните
    мышью на ссылке На
    моем компьютере
    (On
    my
    computer),
    чтобы открыть
    диалог Шаблоны
    (Templates).

  • Выберите
    вкладку Решения
    (Spreadsheet
    Solutions) (Рис.
    7.10).

Рис.
7.10.
Вкладка
Решения
(Spreadsheet
Solutions)
диалога
Шаблоны
(Templates)

  • Щелкните
    мышью на значке с надписью Шаблон
    импорта
    списка
    задач
    Microsoft
    Project
    (Microsoft
    Project Task List Import Template).

  • Нажмите
    кнопку OK,
    чтобы закрыть диалог Шаблоны
    (Templates).

  • В
    окне программы Microsoft
    Excel
    выберите лист Таблица_задач
    (TaskJTable)
    (Рис. 7.11).

Рис.
7.11. Шаблон для списка задач

Обратите
внимание, что названия столбцов шаблона
практически совпадают с названиями
полей списка задач Microsoft
Project.

  • В
    ячейку А2 введите номер задачи 1.

  • В
    ячейку В2 введите название работы
    Обустройство
    двора.

  • В
    ячейку С2 введите длительность задачи
    5
    дней
    (5
    days).

  • Выберите
    команду меню Файл
    ♦ Сохранить как
    (File
    ♦ Save
    As).
    На экране появится
    диалог Сохранение
    документа
    (Save
    As)
    (Рис. 7.12).

Рис.
7.12. Диалог
Сохранение
документа
(Save
As)

  • В
    открывающемся списке Папка
    (Save
    in)
    выберите диск для документа.

  • В
    списке файлов и каталогов выберите
    папку, в которой будет сохранен документ.

  • Убедитесь,
    что в открывающемся списке Тип
    файла
    (Save
    as
    type)
    выбрана строка
    Книга
    Microsoft
    Office
    Excel
    (Microsoft
    Office
    Excel
    Workbook)
    для сохранения
    документа в виде электронной таблицы.

  • В
    поле ввода Имя
    файла
    (File
    name)
    введите имя создаваемого файла
    Импорт-таблица.
    Расширение
    .xls
    будет
    присвоено имени файла автоматически.

  • Нажмите
    кнопку Сохранить
    (Save),
    чтобы закрыть диалог Сохранение
    доку­
    мента
    (Save
    As).
    Документ будет сохранен на диске.

  • Щелкните
    мышью на кнопке с программой Microsoft
    Project
    на Панели
    задач
    (Taskbar)
    для перехода к данной программе.

  • Нажмите
    кнопку Открыть на панели инструментов
    Стандартная
    (Standard).
    На экране
    появится диалог Открытие
    документа
    (Open)
    (Рис. 7.13).

Рис.
7.13. Диалог
Открытие
документа
(Open)

  • В
    открывающемся списке Папка
    (Look
    in)
    выберите диск, на котором хра­нится
    документ Импорт-таблица.

  • В
    списке файлов и каталогов выберите
    папку с документом.

  • В
    открывающемся списке Тип
    файла
    (File
    of
    type)
    выберите строку Книги
    Microsoft
    Excel
    (Microsoft
    Excel
    Workbooks)
    для загрузки электронной таблицы.

  • Щелкните
    мышью на имени файла Импорт-таблица
    в
    списке каталогов.

  • Нажмите
    кнопку Открыть
    (Open).
    Диалог Открытие
    документа
    (Open)
    будет закрыт,
    а на экране появится первый диалог
    мастера импорта (Рис. 7.14).

Рис.
7.14. Первый диалог мастера импорта

  • Нажмите
    кнопку Далее
    (Next).
    На экране появится второй диалог мастера
    импорта
    (Рис. 7.15). В английской версии программы
    этому диалогу предше­ствует диалог
    выбора формата данных.

Рис.
7.15. Второй диалог мастера импорта

  • Установите
    переключатель Создать
    новую схему
    (New
    map)
    для создания новой
    схемы импорта.

  • Нажмите
    кнопку Далее
    (Next).
    На экране появится третий диалог мастера
    импорта
    (Рис. 7.16).


Рис.
7.16. Третий диалог мастера импорта

  • Если
    не установлен переключатель Создать
    новый проект
    (As
    a
    new
    project),
    то установите его, чтобы при импорте
    документа был создан новый проект.

  • Нажмите
    кнопку Далее
    (Next).
    На экране появится четвертый диалог
    мастера импорта (Рис. 7.17).

Рис.
7.17. Четвертый диалог мастера импорта

  • В
    группе элементов управления Выберите
    тип данных для импорта
    (Select
    the
    types
    of
    data
    you
    want
    to
    import)
    установите флажок Задачи
    (Tasks)
    для импорта
    задач.

  • Нажмите
    кнопку Далее
    (Next).
    На экране появится пятый диалог мастера
    им­порта (Рис. 7.18).

Рис.
7.18. Пятый диалог мастера импорта

В
столбцах Из:
поле
Excel
(From:
Excel
Fields)
и В:
поле
Microsoft
Project
(To:
Microsoft
Office
Project
Field)
центральной таблицы диалога отображаются
на­звания
полей программ Microsoft
Excel
и Microsoft
Project,
которые будут соот­ветствовать
друг другу при импорте. Эти поля можно
изменить, но предлагае­мый
по умолчанию вариант является приемлемым.

  • Нажмите
    кнопку Далее
    (Next).
    На экране появится последний диалог
    мастера импорта (Рис. 7.19).

Рис.
7.19. Последний диалог мастера импорта

  • Нажмите
    кнопку Готово
    (Finish),
    чтобы завершить работу мастера импорта.
    В
    окне программы Microsoft
    Project
    появится импортированный план проекта
    (Рис. 7.20).

Рис.
7.20. Импортированный план проекта

  • Выберите
    команду меню Файл
    ♦ Закрыть
    (File
    ♦ Close).
    На экране появится диалог с предложением
    сохранить документ (Рис. 7.21).

Рис.
7.21. Диалог с предложением сохранить
документ

  • Нажмите
    кнопку Нет
    (No),
    чтобы отказаться от сохранения
    импортированного документа на диске.
    Диалог закроется, а в окне программы
    снова появится план
    проекта строительства дома.

Давайте
экспортируем план проекта из программы
Microsoft
Project
в Microsoft
Excel.

  • В
    Microsoft
    Project
    выберите команду меню Файл
    ♦ Сохранить как
    (File
    ♦Save
    As).
    На экране появится диалог Сохранение
    документа
    (Save
    As)
    (Рис.
    7.22).

Рис.
7.22.
Диалог
Сохранение
документа
(Save
As)

  • В
    открывающемся списке Папка
    (Save
    in)
    выберите диск для документа.

  • В
    списке файлов и каталогов выберите
    папку, в которой будет сохранен документ.

  • В
    открывающемся списке Тип
    файла
    (Save
    as
    type)
    выберите строку Книга
    Microsoft
    Excel
    (Microsoft
    Excel
    Workbook)
    для экспорта документа в электронную
    таблицу.

  • В
    поле ввода Имя
    файла
    (File
    name)
    введите имя создаваемого файла
    Экспорт-
    таблица.
    Расширение
    .xls
    будет
    присвоено имени файла автоматически.

  • Нажмите
    кнопку Сохранить
    (Save),
    чтобы закрыть диалог Сохранение
    доку­
    мента
    (Save
    As).
    На экране появится первый диалог мастера
    экспорта (Рис. 7.23).

Рис.
7.23.Первый диалог мастера экспорта

  • Нажмите
    кнопку Далее
    (Next).
    На экране появится второй диалог мастера
    экспорта
    (Рис. 7.24).

Рис.
7.24. Второй диалог мастера экспорта

  • Установите
    переключатель Шаблон
    проекта (
    Excel)
    (Project
    Excel
    Template),
    чтобы
    использовать шаблон проекта программы
    Microsoft
    Excel
    при экспорте.

  • Нажмите
    кнопку Готово
    (Finish)
    для завершения работы мастера экспорта.

  • Щелкните
    мышью на кнопке с программой Microsoft
    Excel
    на Панели
    задач
    (Taskbar)
    для перехода к данной программе.

  • Нажмите
    кнопку Открыть
    на панели инструментов Стандартная
    (Standard).
    На
    экране появится диалог Открытие
    документа
    (Open)
    (Рис. 7.25).

Рис.
7.25. Диалог
Открытие
документа
(Open)

  • В
    открывающемся списке Папка
    (Look
    in)
    выберите диск, на котором хранится
    документ Экпорт-таблица.

  • В
    списке файлов и каталогов выберите
    папку с документом.

  • Щелкните
    мышью на имени файла Экпорт-таблица
    в
    списке файлов и каталогов.

  • Нажмите
    кнопку Открыть
    (Open).
    Диалог Открытие
    документа
    (Open)
    будет закрыт,
    а в окне программы Microsoft
    Excel
    на листе Таблица_задач
    (Task_Table)
    появится экспортированный из Microsoft
    Project
    список задач плана
    проекта (Рис. 7.26).

Обратите
внимание, что формат представления
экспортированного плана проекта похож
на исходный вариант плана в Microsoft
Project.

Рис.
7.26. Экспортированный в
Microsoft
Excel
список задач

  • Щелкните
    мышью на ярлыке листа Таблица_ресурсов
    (Resource_Table).
    В
    окне программы появится экспортированный
    из Microsoft
    Project
    список ресурсов
    плана проекта (Рис. 7.27).

Рис.
7.27. Экспортированный в
Microsoft
Excel
список ресурсов

  • В
    Microsoft
    Excel
    выберите команду меню Файл
    ♦ Выход
    (File
    ♦ Exit).
    На эк­ране
    появится диалог с предложением сохранить
    документ (Рис. 7.28).

Рис.
7.28. Диалог с предложением сохранить
документ

  • Нажмите
    кнопку Нет
    (No),
    чтобы отказаться от сохранения
    экспортированного
    документа на диске. Диалог закроется,
    и работа программы Microsoft
    Excel
    будет завершена.

Следует
отметить, что вы можете экспортировать
в
Microsoft
Excel
часть
созданного плана, а также использовать
импортированные из
Excel
данные для добавления в существующий
план.

Соседние файлы в папке лабы Project

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Не секрет, что Excel довольно мощный инструмент для работы с числовыми табличными данными. Однако средства, которые предоставляет Microsoft для интеграции с ним, далеки от идеала. В частности, сложно интегрировать в Excel современные пользовательские интерфейсы. Нам нужно было дать пользователям Excel возможность работать с довольно насыщенным и функциональным интерфейсом. Мы пошли несколько другим путем, который в итоге показал хороший результат. В этой статье я расскажу, как можно организовать интерактивное взаимодействие Excel c веб-приложением на Angular и расшить Excel практически любым функционалом, который реализуем в современном веб-приложении.

Итак, меня зовут Михаил и я CTO в Exerica. Одна из проблем которые мы решаем — облегчение работы финансовых аналитиков с числовыми данными. Обычно они работают как с исходными документами финансовой и статистической отчетности, так и каким-либо инструментом для создания и поддержания аналитических моделей. Так сложилось, что 99% аналитиков работают в Microsoft Excel и делают там довольно сложные вещи. Поэтому перевести их с Excel на другие решения не эффективно и практически невозможно. Объективно, «облачные» сервисы электронных таблиц до функционала Excel пока не дотягивают. Но в современном мире инструменты должны быть удобны и соответствовать ожиданиям пользователей: открываться по клику мышки, иметь удобный поиск. А реализация в виде разных несвязанных приложений будет довольно далека от ожиданий пользователя.

То с чем работает аналитик выглядит примерно так:

Основные данные тут — это числовые «финансовые показатели», например, доход за 1 квартал 2020 года. Для простоты буду называть их дальше просто «числами». Как видно, почти никакой связи между числами в документе и в аналитической модели нет, все только в голове у аналитика. И работа с заполнением и поддержанием модели занимает часы поиска и перебивания чисел из документа в таблицы, а потом поиск ошибок ввода. Вместе этого мы хотели бы предложить пользователю привычные инструменты: «перетаскивание», вставка через клипборд и так далее, а также быстрый просмотр исходных данных.

Что у нас уже было

К моменту, когда мы начали реализацию интерактивного взаимодействия с Excel в виде, изложенном в этой статье, у нас уже была база данных на MongoDB, бэкэнд в виде REST API на .NET Core, фронтовое SPA на Angular и некоторые другие сервисы. Мы к этому моменту уже пробовали разные варианты интеграции в приложения электронных таблиц, в том числе и в Excel, и все они не пошли дальше MVP, но это тема отдельной статьи.

Связываем данные

В Excel существует два распространенных инструмента, с помощью которых можно решить задачу связывания данных в таблице с данными в системе: RTD (RealTimeData) и UDF (User-Defined Functions). Чистый RTD менее удобен для пользователя в плане синтаксиса и ограничивает гибкость решения. С помощью UDF можно создать кастомную функцию, которая будет работать привычным для Excel-пользователя образом. Ее можно использовать в других функциях, она понимает ссылки типа A1 или R1C1 и вообще ведет себя как надо. При этом никто не мешает использовать механизм RTD для обновления значения функции (что мы и сделали). UDF мы разрабатывали в виде Excel addin с использованием привычного нам C# и .NET Framework. Для ускорения разработки мы использовали библиотеку Excel DNA. 

Кроме UDF наш addin реализует ribbon (панель инструментов) с настройками и некоторыми полезными функциями по работе с данными.

Добавляем интерактивность

Для передачи данных в Excel и налаживания интерактива мы разработали отдельный сервис, который предоставляет подключение по Websocket при помощи библиотеки SignalR и фактически является брокером для сообщений о событиях, которыми должны обмениваться «фронтовые» части системы в реальном времени. Он у нас называется Notification Service.

Вставляем данные в Excel

В нашем SPA мы подсвечиваем все числа, которые обнаружила система. Пользователь может выделять их, навигировать по ним и т.п. Для вставки данных мы реализовали 3 механизма, чтобы закрыть различные варианты использования:

  • Перетаскивание (drag-and-drop)
  • Автоматическая вставка по клику в SPA
  • Копирование и вставка через клипборд

Когда пользователь инициирует drag’n’drop некоторого числа из SPA, для перетаскивания формируется ссылка с идентификатором этого числа из нашей системы (.../unifiedId/005F5549CDD04F8000010405FF06009EB57C0D985CD001). При вставке в Excel наш addin перехватывает событие вставки и парсит регэкспом вставляемый текст. При обнаружении валидной ссылки на лету подменяет ее на соответствующую формулу =ExrcP(...).

При клике на числе в SPA через Notification Service отправляется сообщение в addin, содержащее все необходимые данные для вставки формулы. Далее формула просто вставляется в текущую выделенную ячейку.

Эти способы хороши, когда пользователю нужно вставлять в свою модель по одному числу, но если надо перенести целую таблицу или ее часть, необходим другой механизм. Наиболее привычным для пользователей представляется копирование через клипборд. Однако этот способ оказался сложнее первых двух. Дело в том, что для удобства вставляемые данные должны быть представлены в нативном для Excel формате — OpenXML Spreadsheet. Наиболее просто это реализуется используя объектную модель Excel, то есть из addin’а. Поэтому процесс формирования клипборда у нас выглядит так:

  • Пользователь выделяет область с числами в SPA
  • Массив выделенных чисел передается на Notification Service
  • Notification Service передает его в addin
  • Addin формирует OpenXML и вставляет его в клипборд
  • Пользователь может вставить данные из клипборда в любое место любой Excel-таблицы.

Несмотря на то, что данные проделывают довольно долгий путь, благодаря SignalR и RTD происходит это довольно быстро и абстрагированно от пользователя. 

Распространяем данные

После того, как пользователь выбрал начальные данные для своей модели, их надо «распространить» все периоды (года, полугодия и кварталы), которые представляют интерес. Для этих целей одним из параметров нашей UDF является дата (период) данного числа (вспоминаем: «доход за 1 квартал 2020 года»). В Excel существует нативный механизм «распространения» формул, который позволяет заполнить ячейки той же формулой с учетом ссылок, заданных в параметрах. То есть вместо конкретной даты в формулу вставлена ссылка на нее, а далее пользователь «распространяет» ее на другие периоды, при этом в таблицу автоматически загружаются «те же» числа из других периодов. 

А что это там за число?

Теперь у пользователя есть модель на несколько сотен строк и несколько десятков столбцов. И у него может возникнуть вопрос, что же там за число в ячейке L123? Чтобы получить ответ, у нас ему достаточно кликнуть на эту ячейку и в нашем SPA откроется тот самый отчет, на той самой странице, где записано кликнутое число, а число в отчете будет выделено. Вот так:

А если это не просто одно число из отчета, а результат некоторых вычислений на числах, взятых из отчета, то мы подсветим все числа, входящие в вычисляемое в Excel выражение. При этом не происходит загрузки всего приложения и подгрузки всех необходимых данных, как в случае перехода по ссылке.

В качестве заключения

Вот такая, на мой взгляд, нестандартная реализация взаимодействия между Excel и веб-приложением получилась довольно удобной для пользователя. Благодаря использованию Excel порог входа для пользователей из целевой аудитории довольно низкий. При этом мы получаем также всю мощь Excel по работе с числовыми данными. Сами данные всегда остаются связанными с источником, а также связанными во времени. Для целевых клиентов нет необходимости встраивать в бизнес-процесс работы с данными абсолютно новые внешние системы. Наше решение встраивается как дополнительный «инструмент» внутри Excel, что является стандартом де-факто для провайдеров финансовых данных.

Подобный архитектурный подход к интеграции веб-приложений с Microsoft Excel может быть применим и для решения других задач, требующих интерактива и сложных пользовательских интерфейсов при работе с числовыми и табличными данными.

Понравилась статья? Поделить с друзьями:
  • Интеграция данных в excel
  • Интеграция в excel это
  • Интеграция pdf в word
  • Интеграция excel в powerpoint
  • Интегральный процент в excel это