ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Задание для самостоятельной работы 10.1 Программное формирование документа в WordСитуация: Вам необходимо автоматизировать формирование договоров в виде документов Word. Типичный договор выглядит так, как представлено на рис. 10.2 (для простоты в этом задании вам нужно формировать только его начало). Изменяемые данные, которые должны подставляться программно, выделены зеленым цветом. Рис. 10.2 Так должен выглядеть созданный программно договор Задание: · Создайте в шаблоне normal.dot пользовательскую форму с именем Dogovor, аналогичную представленной на рис. 10.3. Рис. 10.3 Форма для занесения данных договора · Создайте макрос, который по которому эта форма должна открываться, и назначьте этому макросу кнопку на панели инструментов Word. · Создайте и сохраните на диске с именем C:\dogovortemplate.dot шаблон Word, в который будут подставляться необходимые данные, и добавьте в нужные места закладки. · Создайте для кнопки Сформировать договор на форме программный код, при помощи которого на основе шаблона и подставляемых данных из формы формировался бы новый документ с текстом договора. Примечание: В реальном приложении данные из формы должны были бы сохраняться в базе данных и использоваться потом многократно (например, для формирования других документов). В этом примере для простоты данные для создаваемого документа берутся напрямую из формы. Работа с базой данных в похожей ситуации будет рассмотрена в задании к главе, посвященной Access. По этой же причине все данные в этом примере (включая дату и номер договора) текстовые. Решение: К пункту 1 — создание пользовательской формы: · Откройте окно редактора Visual Basic для Word и щелкните правой кнопкой мыши по проекту Normal в Project Explorer, а затем выберите в контекстном меню Insert -> UserForm. · В дизайнере форм сконструируйте форму, аналогичную представленной на рис. 10.1-2 (про работу с дизайнером форм рассказывалось в разделе 5). В нашем примере элементы управления на форме будут называться так: o текстовое поле для ввода города: txtCity; o текстовое поле для ввода номера договора: txtNumber; o текстовое поле для ввода даты: txtDate; o текстовое поле для ввода наименования организации: txtOrg; o текстовое поле для ввода представителя организации: txtPerson; o текстовое поле для ввода его должности: txtTitle; o текстовое поле для ввода юридического основания: txtLaw; o кнопка для формирования договора: cmdDog; o кнопка Отмена: cmdСancel. · Настройте оформление для элементов управления по вашему вкусу. Установите значение для свойства Caption для формы как "Данные договора". Для кнопки cmdDog установите True для значения свойства Default, а для кнопки cmdCancel установите True для значения свойства Cancel. Для свойства (Name) самой формы введите значение FormDog. К пункту 2 — создание макроса и кнопки для показа формы: · В стандартном модуле NewMacros проекта Normal создайте новую процедуру с именем FormDog(). Код ее может быть таким: Public Sub FormDogShow () FormDog.Show End Sub · Убедитесь, что при его запуске открывается созданная вами форма. · В Word в меню Сервис выберите Настройка, а затем перейдите на вкладку Команды. В списке Категории выберите Макросы, а затем перетащите на любую панель инструментов макрос Normal. NewMacros.FormDogShow. Настройте для созданной кнопки подходящий формат отображения (см. главу 1 этой книги). После этого закройте окно Настройка и убедитесь, что при нажатии на эту кнопку открывается форма.
К пункту 3 — создание шаблона документа Word: · Создайте новый документ Word, аналогичный представленному на рис. 10.4. Рис. 10.4 Шаблон договора · Поместите в нужные места этого документа закладки. Места вставки закладок можно посмотреть на рис. 10.2 (текст, выделенный зеленым). В нашем примере закладки будут называться так: o закладка для ввода номера договора: bNumber; o закладка для ввода города: bCity; o закладка для ввода даты: bDate; o закладка для ввода наименования организации: bOrg; o закладка для ввода представителя организации: bPerson; o закладка для ввода его должности: bTitle; o закладка для ввода юридического основания: bLaw. · Сохраните этот файл как шаблон Microsoft Word с именем C:\DogovorTemplate.dot.
К пункту 4 — создание программного кода для кнопок на форме: · Для события Click кнопки cmdCancel введите следующий программный код: Private Sub cmdCancel_Click() FormDog.Hide End Sub · Для события Click кнопки cmdDog можно использовать следующий программный код: Private Sub cmdDog_Click() Dim oDoc As Document Set oDoc = Application.Documents.Add("C:\DogovorTemplate.dot") oDoc.Bookmarks("bNumber").Range.Text = txtNumber.Value oDoc.Bookmarks("bCity").Range.Text = txtCity.Value oDoc.Bookmarks("bDate").Range.Text = txtDate.Value oDoc.Bookmarks("bOrg").Range.Text = txtOrg.Value oDoc.Bookmarks("bTitle").Range.Text = txtTitle.Value oDoc.Bookmarks("bPerson").Range.Text = txtPerson.Value oDoc.Bookmarks("bLaw").Range.Text = txtLaw.Value FormDog.Hide oDoc.Activate End Sub
Не нашли, что искали? Воспользуйтесь поиском:
|