Телефон: +7 (495) 649-0526

Форматирование документа средствами Visual Basic (VBA)

Картинка к странице

Следующая статья:

Содержание

Работа с текстом

Наиболее важной особенностью работы на 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

Разработанная форма примера в рабочем состоянии и вывод результирующих сведений в документ 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

Примерный формат вывода заявления в документ Word

Видео: «Команда КВН «ПриМа» танец Медведева (эксклюзив)»

Танец- воспоминание о выпускном вечере

Команда КВН «ПриМа» танец Медведева (эксклюзив)
Интересное в интернете: Угловые диваны от производителя качественный сайт. Диваны от производителя в Москве.

Статья: Форматирование документа средствами Visual Basic (VBA)

Раздел: VBA программирование (office)

Сайт: SD Company » Все разделы статей

Последнее изменение: 2010.11.17 в 00:28

Теги: форматирование документа, работа с текстом, vba

Следующая статья:

Другие элементы управления Visual Basic (VBA)
Другие элементы управления Visual Basic (VBA)
Описание различных, но редко используемых элементов управления создаваемых на VBA для управления офисными приложениями и их данными
Дополнительные элементы управления в Visual Basic (VBA)
Дополнительные элементы управления в Visual Basic (VBA)
Описание дополнительных, но стандартных элементов управления в Visual Basic (VBA)
Основные типы переменных и функции в Visual Basic (VBA)
Основные типы переменных и функции в Visual Basic (VBA)
Обзор типов данных Visual Basic (VBA) представлены в щей итоговой таблице для удобства чтения
Условные, логические операторы в Visual Basic VBA
Условные, логические операторы в Visual Basic VBA
Описание, как пишутся и используются логические операторы, условные переходы в Visual Basic (VBA)
Расширенные типы данных и функции в Visual Basic (VBA)
Расширенные типы данных и функции в Visual Basic (VBA)
Описание всех основных типов данных используемых в программировании на Visual Basic (VBA)
Программирование форм на VBA
Программирование форм на VBA
Описание, как легко программируются диалоговые и другие формы в офисных приложениях при помощи Visual Basic (VBA)
HTML5 - DOM представление и управление документами
HTML5 - DOM представление и управление документами
Описание, как при помощи технологии html5 управлять структурой и контентом HTML документов