Сейчас мы создадим простое приложение, вставляющее диапазон ячеек рабочего листа Excel в письмо, созданное в Word. Сначала напишем это письмо (можно, конечно, создать его непосредственно в процедуре Excel, но мы не будем этого делать). Откройте программу Word и введите следующий текст.
Менеджеру по продажам
Посылаю Вам таблицу с итоговыми данными по объемам продаж. Если у Вас есть вопросы, то свяжитесь со мной.
С уважением,
Босс
Сохраните этот текст в файле Письмо.
Теперь вставим в письмо две закладки. Закладка - это поименованное место в документе Word. Для вставки закладок выполните следующие действия.
Установите курсор в начало фразы Менеджеру по продажам.
Выполните команду Вставка > Закладка, откроется диалоговое окно Закладка.
Введите Регион в качестве имени закладки и щелкните на кнопке Добавить.
Добавьте пустую строку перед С уважением. Установите курсор в эту пустую строку и вставьте закладку Данные.
Сохраните и затем закройте документ Письмо.
Перейдите в Excel и создайте таблицу с данными, подобную приведенной на рис, 23.3. Эта таблица далее будет скопирована и вставлена в документ Письмо.
Вернитесь в Word и начните запись макроса с именем Данные_продажи, предварительно открыв новый документ.
Для начала записи макроса в Word необходимо выполнить те же действия, что и в Excel. Прежде всего выполните команду Сервис > Макрос > Начать запись.
Рис. 23.3. Таблица данных, которую надо вставить в письмо
Во время записи макроса выполните следующие действия.
Выберите команду Файл > Открыть и откройте документ Письмо.
Выполните команду Правка > Перейти. В диалоговом окне Найти и заменить на вкладке Перейти в списке Объект перехода выберите пункт Закладка, а затем в раскрывающемся списке Введите имя закладки выберите Регион. Щелкните на кнопке Перейти.
Теперь выберите закладку Данные и щелкните на кнопке Перейти.
Щелкните на кнопке Закрыть для удаления диалогового окна Найти и заменить.
Остановите запись макроса.
Выполнив команду Сервис > Макрос > Макросы, откроете диалоговое окно Макрос и выберите макрос Данные_продажи. Для просмотра кода этого макроса щелкните на кнопке Изменить. Удалите строки из процедуры так, чтобы у вас осталось то, что показано в листинге 23.2.
Этот код будет основой процедуры, которую мы создаем в Excel. Скопируйте эту процедуру в буфер обмена. Закройте Word, вернитесь в Excel и откройте редактор Visual Basic. Добавьте модуль в текущую рабочую книгу и вставьте в него скопированную процедуру. Теперь надо создать экземпляр Word, а также перед каждой строчкой процедуры поставить имя переменной, соответствующей экземпляру Word. Самый простой способ сделать это - применить оператор With. Код измененной процедуры показан в листинге 23.3.