Следующая статья: ListBox VBA + Excel
Содержание
- Работа с текстом
- Описание процедур
- Создание кнопки или панели в Word
- Задачи на закрепление материала
Работа с текстом
Наиболее важной особенностью работы на VBA в Word является вставка текста в документ при работе с приложениями. Для этого служат объекты Range и Selection, которые являются главными для практически любых операций, которые можно выполнять с помощью Word VBA. Некоторые из этих действий можно применять к документам в целом, но в общем случае вам необходим диапазон или выделенная область, прежде чем вносить изменения. Мы, однако, рассмотрим действия с документом при его создании.
Открытый документ Word уже содержит объекты Range, соответствующие многим его элементам. Каждый абзац, таблица, ячейка таблицы, комментарий и так далее определяют диапазоны. Например, для того чтобы вставить некоторый текст в уже существующий документ, необходимо прописать код:
ActiveDocument.Paragraphs(1).Range.Text=«Oxo-xo!!»
Причем данная строка будет расположена в конце существующего параграфа. С другой стороны, используя объект Selection, можно также вставить некоторый текст в документ, используя метод Add и присвоение свойства Text объекту Selection:
If Documents.Count=0 Then Documents.Add
Selection.Text="Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, « + TextBox1.Text +», и отвечает запросам всех программистов!»
В результате выполнения данного программного кода в документе Word будет выведена строка:
Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, Светлана, и отвечает запросам всех программистов!
Здесь имя Светлана, например, считано с текстового поля некоторой формы, имеющей всего одно поле ввода для имени и кнопку «Вывод текста».
Форма ввода данных
При работе с текстом на рабочем листе Word необходимо знать следующие коды:
определение цвета
Selection.Font.Color =
wdColorRed – красный
wdColorDarkRed – бордовый
wdColorDarkTeal – бирюзовый
wdColorBlue – синий
wdColorGreen – зеленый
wdColorBlack – черный
wdColorOrange – оранжевый
определение жирности
Selection.Font.Bold =
wdToggle – жирность
определение начертания
Selection.Font.Italic=
wdToggle – курсив
определение выравнивания
Selection.ParagraphFormat.Alignment=
wdAlignParagraphRight – выравнивание по правому краю
wdAlignParagraphCenter – выравнивание по центру
wdAlignParagraphJustify – выравнивание по левому краю
вставка в текст конкретного предложения
Selection.TypeText Text:="Пример работы с текстом"
вставка новой пустой строки
Selection.TypeParagraph
установка размера букв
Selection.Font.Size=14
Примечание. Для правильного оформления кода пользуйтесь возможностями создания макроса написания программы.
Одним из элементов оформления диалоговых окон является элемент управления Image (рисунок). Его основные свойства:
Autosize – изменяет размер рисунка на форме (автоматически или нет);
Picture – отображает графический файл, выводимый на форму;
pictureSizeMode – устанавливает масштабирование рисунка (не весь рисунок, вся поверхность объекта, целиком внутри объекта);
PictureAligment – устанавливает расположение рисунка внутри объекта (слева, справа, вверху, внизу);
pictureTilling – покрывает объект мозаикой из рисунка.
Данные свойства либо устанавливаются в окне свойств объекта, либо прописываются в листинге.
Пример.
Создать программу, которая будет производить подсчет количества теплоты, выделяемой в проводнике при протекании в нем тока. Формула для расчета количества теплоты известна под именем закона Джоуля – Ленца:
Формула для расчета количества теплоты
Q – количество теплоты в Джоулях;
U – напряжение в вольтах;
t – время в секундах;
S – площадь поперечного сечения проводника в квадратных миллиметрах;
l – длина проводника в метрах;
р – удельное сопротивление материала проводника в Ом × мм2/м.
Все исходные данные вводятся в текстовые поля формы. По итогам вычисления результат в виде объяснительной записки выводится в документ, а численный результат – в специальное окно формы.
Технология выполнения
Создайте форму.
Разработанная форма примера в рабочем состоянии и вывод результирующих сведений в документ word
При создании формы установите необходимые свойства элементов. Установите свойство Locked элемента TextBox6 как True, чтобы не допустить случайного ввода пользователем в него текста.
Описание процедур
Private Sub CommandButton1_Click()
If Documents.Count=0 Then Documents.Add
Selection.Text="При прохождении тока напряжением в " + TextBox1.Text + "вольт по проводнику длиной " + TextBox4.Text + " метров, сечением " + TextBox3.Text + "кв. мм и удельным сопротивлением " + TextBox5.Text + " Ом*мм2/м за " + TextBox2.Text + " секунд выделится " + TextBox6.Text + « джоулей теплоты»
Selection.Collapse direction:=wdCollapseEnd
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub TextBox1_Change()
scet
End Sub
Private Sub TextBox2_Change()
scet
End Sub
Private Sub TextBox3_Change()
scet
End Sub
Private Sub TextBox4_Change()
scet
End Sub
Private Sub TextBox5_Change()
scet
End Sub
Private Sub scet()
If IsNumeric(TextBox1.Text)=True And
IsNumeric(TextBox2.Text)=True And
IsNumeric(TextBox3.Text)=True And
IsNumeric(TextBox4.Text)=True And
IsNumeric(TextBox5.Text)=True And Not Val(TextBox4.Text)
= 0 And Not Val(TextBox5.Text)=0 Then
rez=((Val(TextBox1.Text) ^ 2) * Val(TextBox2.Text) *
Val(TextBox3.Text)) / (Val(TextBox4.Text) *
Val(TextBox5.Text))
TextBox6.Text=Str$(rez)
CommandButton1.Enabled=True
Else
TextBox6.Text=""
CommandButton1.Enabled=False
End If
End Sub
Примечание. При работе данного приложения все значения полей ввода должны быть числовыми. В VBA есть специальная функция для проверки того, является или нет введенная строка записью числа – IsNumeric. Для проверки отличия от нуля значений в последних двух полях ввода используется функция Val, которая переводит строковое выражение в числовое, если это строковое выражение содержит в своем начале цифры (или все состоит из них).
Функция Str делает преобразование, обратное тому, что производит Val, – конвертирует числовое значение выражения в строковое, что позволяет этому значению в дальнейшем обрабатываться как строке.
Таким образом, функции Val и Str преобразуют типы данных обрабатываемых ими переменных, соответственно, из строкового в числовой и из числового в строковый.
Создание кнопки или панели в Word
Назначить форме кнопку или пункт меню для непосредственного вызова приложения из Word нельзя – это можно сделать только для модулей. Поэтому нужно применить следующий способ. Создайте макрос (Меню + Insert + Module) в открытом проекте:
Sub counter()
userForm1.Show
End Sub
Переименуйте этот макрос по своему усмотрению, например Teplo. И выполните следующие действия.
- Щелкните правой кнопкой мыши в любом месте панели инструментов.
- В этом меню выберите команду Настройка (или Сервис + Настройка).
- В диалоговом окне Настройка щелкните на ярлыке вкладки Команды.
- Прокрутите список Категории вниз и найдите пункт Макросы. Выберите этот пункт. В списке «Сохранить в» выберите имя вашего документа, в котором создан макрос.
Поиск макроса для создания кнопки
- В правом окне найдите необходимый макрос (либо VBA-программу).
- Перетащите имя этого макроса или программы на панель инструментов.
- Создайте соответствующую надпись кнопки и, если нужно, рисунок (при помощи правой кнопки мыши).
- Закройте диалоговое окно Настройка, чтобы завершить работу.
По выполнении всех перечисленных пунктов будет создана кнопка запуска приложения.
Задачи на закрепление материала
Пример.
Создать программу, позволяющую заполнять стандартные заявления студентов учебного заведения, если все необходимые данные заполняются в соответствующих текстовых полях формы, а причина пропусков занятий выбирается из раскрывающегося списка.
Разработанная форма примера в рабочем состоянии
Классному руководителю
группы АС-42
Сидорову О.И.
от студента(ки)
Петренко Олега Ивановича
Заявление
Прошу считать пропуск за 15.05.2007 уважительным по причине: по семейным обстоятельствам.
Петренко Олег Иванович
18.05.2007
Примерный формат вывода заявления в документ word
Пример.
Создать программу, позволяющую рассчитать сумму денег, затрачиваемых на бензин при поездке на дачу.
При этом учесть следующее: условия поездки могут быть: в одну сторону, туда и обратно, можно сесть на чужую машину (данные условия учитываются в раскрывающемся списке «условия поездки» на создаваемой форме).
Полученный результат вычисляется по формуле:
Результат=расстояние * (потребление бензина на 100 км) / 100*цену бензина за литр.
Учесть, что если выбрали условие поездки «на чужой машине», то цена бензина равняется 0 руб.
Разработанная форма примера в рабочем состоянии
Также учесть, что если при вычислении результат превысит 400 руб., то выдать сообщение «Может, пойдем на рынок?».
При поездке на дачу, находящуюся на расстоянии 55 км, при цене бензина за литр 18.50 руб., потребление бензина составит 101.75 руб.
Примерный формат вывода расчетов в документ Word
Пример
Разработать программу, которая выдает Отчет о доходе вкладчика на настоящий момент. При этом учесть, что в интерфейсе формы процентная ставка выбирается из раскрывающегося списка (предусмотреть два вида процентов).
Разработанная форма примера в рабочем состоянии
При вычислении придерживаться следующих формул:
если схема вычисления простая, то
Доход=внесенная сумма + внесенная сумма * процентную ставку/100*срок/360;
если схема вычисления сложная, то
Доход=внесенная сумма + внесенная сумма * процентную ставку/100*срок/360 +0.01*(внесенная сумма * процентную ставку/100*срок/360).
Отчет о доходе
На настоящий момент гражданин(ка) Евсеева Ольга Константиновна имеет на своем счету по простым процентам при начальной сумме вложения 1000 руб. за 150 дней при 2 %-ной ставке 1008.33 руб.
Примерный формат вывода расчетов в документ Word
Результат вычислений с соответствующими пояснениями выводится в документ Word, а в поле формы выдается числовой результат произведенных расчетов.
Пример.
Разработать программу, позволяющую заполнять заявление на восстановление студенческого билета при его порче (украли, потерял, постирал и так далее). Причину порчи предусмотреть в раскрывающемся списке создаваемой формы.
Разработанная форма примера в рабочем состоянии
Примерный формат вывода заявления в документ Word
Видео: «Команда КВН «ПриМа» танец Медведева (эксклюзив)»
Танец- воспоминание о выпускном вечере

