MS Word. Работа с формами. Формы и макросы

Здесь нужно познакомиться с материалами об электронных формах в MS Word.

Здесь нужно познакомиться с материалами о шаблонах в MS Word.

  1. В своей папке создайте папку под именем вида Фамилия-Формы
  2. Откройте текстовый процессор MS Word
  3. Выведите в окне программы панель инструментов Формы (Вид-Панели инструментов-Формы)
  4. Создайте учебный тест в виде электронной формы со следующими параметрами (текст можно копировать)



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

  5. Сохраните форму в папке Фамилия-Формы в виде шаблона MS Word под именем вида Фамилия-форма.dot
  6. Откройте созданный шаблон, выполните тест, проверив работоспособность формы, и сохраните результат в виде документа MS Word под именем вида Фамилия-форма.doc

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

  7. Создайте в папке Фамилия-Формы шаблон под именем вида Фамилия-тест.dot
  8. В созданный шаблон добавьте следующие элементы формы:


    В режиме непечатаемых знаков


    Примечание:
    Для фамилии, имени и отчества - текстовое поле.
    В свойствах поля указать:
    тип - Обычный текст;
    формат текста - Первая прописная.

    Для года рождения: текстовое поле, тип - число.

  9. Далее создайте учебный тест с выбором одного правильного варианта ответа из 4 возможных (поле со списком) по теме "Возможности MS Word" (тема оформляется в виде заголовка к тесту) . Номера неправильных ответов и количество правильных - текстовые поля.


    В режиме непечатаемых знаков


  10. Для получения результатов теста в текущем шаблоне создайте макрос под именем вида Фамилия_макрос

    Сервис-Макрос-Редактор Visual Basic...
    Выбираем Priject (Фамилия_тест) -- ThisDocuument
    Insert -- Module
    Копируем приведенный ниже исходный код макроса на VBA

    Sub Фамилия_Макрос()
    'объявляем массив из 4 элементов целого типа,
    'в котором будем хранить номера правильных ответов
    '!индексы массива в VBA начинаются с 0
    Dim a(4) As Integer
    'Задаем правильный номер ответа для каждого вопроса (таблицу ответов)
    a(0) = 1
    a(1) = 4
    a(2) = 1
    a(3) = 2
    a(4) = 4
    'переменная s служит для подсчета правильных ответов
    s = 0
    'Очищаем текстовое поле с именем ТекстовоеПоле5 (номера неправильых ответов)
    ActiveDocument.FormFields("ТекстовоеПоле5").TextInput.Clear
    'Очищаем текстовое поле с именем ТекстовоеПоле6 (количество правильных ответов)
    ActiveDocument.FormFields("ТекстовоеПоле6").TextInput.Clear
    
    For k = 1 To 5
    'вспомогательная переменная i - номер выбранного ответа
       i = ActiveDocument.FormFields("ПолеСоСписком" & k).DropDown.Value
       'проверяем, совпадает ли номер выбранного ответа с номером правильного ответа
       'если ДА, то увеличиваем количество правильных ответов на 1
       If i = a(k - 1) Then
           s = s + 1
       Else
       'в противном случае выводим в ТекстовоеПоле5 номера неправильных ответов
            ActiveDocument.FormFields("ТекстовоеПоле5").Result = _
            ActiveDocument.FormFields("ТекстовоеПоле5").Result & "№" & k & "; "
       End If
    Next k
    'Выводим в ТекстовоеПоле6 количество правильных ответов
     ActiveDocument.FormFields("ТекстовоеПоле6").Result = s
    End Sub
  11. ВАЖНО!!!
    Измените таблицу ответов в исходном коде макроса в соответствии со своими вариантами ответов к предложенным вопросам
    (значения а(0)...а(4) при определении "таблицы ответов" в начале макроса).

  12. Назначьте выполнение макроса при входе в текствые поля "номера неправильных ответов" и "количество правильных ответов".
  13. Ниже теста разместить анкету:
    "С какими возможностями MS Word вы впервые познакомились на занятиях информатики?"
    Работа с изображениями
    Редактор формул MS Equation
    Рецензирование документов
    Работа с формами
    Слияние документов
    Макросы


    и напротив каждого пункта установите флажок следующим образом


    В режиме непечататемых знаков


  14. В конце документа справа установите поле CreateDate (Вставка - Поле...- Категории - Дата и время, полный формат /дата+время/)
  15. Установите защиту формы и сохраните шаблон.
  16. Далее на его основе в папке Фамилия-Форма создайте документ под именем вида Фамилия-тест.doc, в котором заполнить все данные.
    В итоге оплучим результат вида: