Первый новый оператор .Visible = True устанавливает свойство Word Visible (Видимый) как True, тем самым открывая окно программы Word и выводя его на передний план.
Далее открывается документ Письмо. Затем копируется содержимое ячейки В1, содержащей название региона, осуществляется переход к закладке Регион и вставляется содержимое ячейки В1. Установка свойства Excel cutCopyMode (Режим вырезания и копирования) как False снимает выделение с ячейки В1:
Затем аналогичная процедура копирования и вставки выполняется для диапазона А3:D11.
Если окно Word открыто, закройте его и выполните процедуру Данные_продажи. Сначала откроется окно Word, затем в нем откроется документ Письмо. Через несколько мгновений в этот документ будут вставлены данные из рабочего листа Excel (рис. 23.4). Это простой учебный пример, в реальной жизни вы, по-видимому, захотите отформатировать полученный документ, но это, как говорится, совсем другая история.
Рис. 23.4. Документ Word со вставленными данными Excel
Для повторного выполнения процедуры закройте Word без сохранения изменений в документе Письмо.
В заключение перечислим этапы выполнения этого примера.
Создание файла в приложении-сервере.
Создание таблицы данных в Excel (приложении-клиенте).
Запись макроса в приложении-сервере.
Копирование кода записанного макроса и вставка его в процедуру, создаваемую в Excel.
Изменение процедуры Excel для создания экземпляра приложения-сервера.
Резюме
Программа Excel выполняет многие действия с числовыми данными значительно лучше других программ. Другие приложения имеют свои сильные стороны, которыми не обладает Excel, например создание текстовых документов в программе Word или показ презентаций в PowerPoint. В этом часе вы узнали, как посредством технологии автоматизации внедрять объекты других приложений в процедуры VBA. Это расширяет возможности не только программы Excel, но и ваши возможности как программиста.