Реферат Курсовая Конспект
Создание макросов - раздел Информатика, Лабораторная Работа №3 Создание Макросов Word С Использованием Яз...
|
Лабораторная работа №3
Создание макросов WORD с использованием языка Visual Basic for Application
Краткие теоретические сведения
R.WholeStory
Selection.StartOf unit:=wdStory
K = 1
I = 0
While k < r.End – i
Selection.EndKey unit:=wdLine
Selection.Delete unit:=wdCharacter, Count:=1
K = Selection.start
i = i + 1
Wend
Текст программы с комментариями
REM создание объектной переменной r типа диапазон, начальная и конечная
REM позиции которого равны 0, т.е. диапазон пустой
Set r = ActiveDocument.Range(Start:=0, End:=0)
REM задание значения диапазону r –весь документ
R.WholeStory
REM выделения текста нет, поэтому объект Selection представляет из себя
REM текущую позицию курсора, начало и конец этого объекта совпадают;
REM установить начальную позицию – начало документа (единица измерения REM перемещений – весь документ)
Selection.StartOf unit:=wdStory
K = 1
I = 0
REM цикл выполняется до тех пор, пока k меньше разности номера последнего
REM символа в документе (позиция конца диапазона r)и i
While k < r.End – i
REM переместить текущую позицию курсора в конец строки
Selection.EndKey unit:=wdLine
REM удалить один символ в текущей позиции курсора
Selection.Delete unit:=wdCharacter, Count:=1
REM переменной k присвоить значение начала выделения,
REM т.е. в данном случае текущей позиции курсора
K = Selection.start
i = i + 1
Wend
Пример 2.
В выделенном фрагменте текста после фамилии Петров добавить его инициалы.
Set col = Selection.Words
For Each a In col
If a = "Петров " Then a.InsertAfter "B.B. "
Next
Пример 3.
В выделенном фрагменте текста изменить размер шрифта на 14 или 20 по выбору пользователя.
В шаблон Normal добавить объект UserForm и дать ему имя Myform, используя свойство Name инспектора объектов.
На форму установить два компонента CheckBox и один CommonButton, дать им имена соответственно Ch1, Ch2, B1.
Создать процедуру обработки события нажатия кнопки:
Private Sub B1_Click()
REM Свойство Tag формы используется для передачи значения,
REM выбранного пользователем.
If ch1 = True Then Tag = 1 Else Tag = 0
myform.hide
REM форма невидима на экране
End Sub
Текст программы макроса:
myform.Show
REM показать форму
If myform.Tag = 1 Then Selection.Font.Size = 14 Else Selection.Font.Size = 20
Варианты заданий
1. Составить программу перекодировки выделенного текста из кодировки ANSI (Windows) в KOI8. Соответствие символов следующее:
Кодировка | Исходная строка | Результат |
ANSI-KOI8 | Абвгдежзийклмнопрстуфхцчшщъыьэюя | юабцдефгхийклмнопярстужвьызшэщчъ |
KOI8- ANSI | Абвгдежзийклмнопрстуфхцчшщъыьэюя | бвчздецъйклмнопртуфхжигюыэящшьас |
Программа должна проверять, выделен ли фрагмент текста, затем в диалоговом окне запрашивать у пользователя вид преобразования путем установки переключателя в группе из двух переключателей.
Для обработки строк рекомендуется использовать встроенные функции Basic: ASC, RIGHT; CHR, INSTR; информация в Справочнике по Visual Basic.
2. Составить программу правильной расстановки пробелов в тексте. В основе алгоритма лежат следующие правила редактирования текста:
a) между словами ставится только один пробел;
b) перед знаком препинания пробел не ставится;
c) после знака препинания пробел обязательно ставится;
Макрокоманда должна обрабатывать выделенный фрагмент текста или весь текст при отсутствии выделения.
3. Составить программу удаления из текста переносов, расставленных вручную. Программа должна работать в двух режимах:
1 - автоматическое удаление переносов. При этом обнаруженные дефисы между словами сразу удаляются;
2 - запрос на удаление переноса. При обнаружении в тексте слова, разделенного дефисом на части, на экран выводится диалоговое окно с найденным словом. При этом пользователь выбирает одно из трех действий - удалить перенос, оставить перенос или завершить выполнение макрокоманды.
4. Составить программу печати документа книжкой. Для этого надо выполнить настройки параметров страницы таким образом, чтобы после распечатки документа листы можно было посередине сшить. Перед началом печати пользователем в диалоговом окне вводится желаемая ширина всех 4-х полей для одной стр., т.е. половины листа. Использовать вид элементов управления формы для ввода – поле увеличения-уменьшения (поле со счетчиком), предусмотреть значение полей по умолчанию.
Основа алгоритма печати следующая:
a) установить альбомную ориентацию страницы;
b) организовать 4 цикла печати. Для каждого цикла задаются свои размеры полей печати. В каждом цикле печатается 1/4 от общего количества страниц документа.
Например, в исходном файле 8 стр. Для распечатки его нужно 2 листа - по 2 стр. на лист с двух сторон. Длина листа формата А4 в альбомной ориентации - 297 мм, половина листа - 148 мм.
Если краевое поле каждой части стр. должно составлять 15 мм, а серединное - 30 мм, то ширина одной стр. текста - 148-30-15=103 мм.
Рисунок 2 - Левое и правое поля для 1 цикла печати
2 цикл - печать 6 и 8 стр. на тех же сторонах двух листов. Поля: левое - 148+15=163 мм, правое -30 мм (см. рис.3).
Рисунок 3 - Левое и правое поля для 2 цикла печати
Настройки 3 и 4 циклов аналогичны.
Если число страниц в документе не кратно 4, то в конец документа добавляются пустые страницы.
5. Составить программу сортировки разделов текста в алфавитном порядке заголовков. Текст при этом перемещается вместе со своим заголовком. Название стилей, примененных к заголовкам и к остальному тексту, вводятся пользователем в диалоговом окне. Для ввода названия стилей в форме диалогового окна используется поле с раскрывающимся списком, содержащее все текущие стили документа.
6.Составить программу изменения начертания слов в выделенном фрагменте документа, написанных латинскими буквами. Вид начертания выбирается пользователем в диалоговом окне в виде установки любого количества флажков (Ж, К, Ч).
7.Составить программу обработки текста, который был создан в другом текстовом редакторе, при этом в конце каждой строки остался символ с кодом 13, который в Word является признаком конца абзаца и мешает форматированию текста. Макрокоманда должна удалять из текста лишние признаки конца абзаца. Начало нового абзаца определяется по абзацному отступу в виде пробелов (>3) или табуляции.
Содержание отчета
1. Цель работы
2. Задание
3. Схема алгоритма
4. Текст программы
Контрольные вопросы
1. Что такое макрос?
2. Структура проекта VBA.
3. Область действия объектов в зависимости от типа проекта.
4. Иерархия объектов документа.
– Конец работы –
Используемые теги: Создание, макросов0.051
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Создание макросов
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов