Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение примеры по VBA.doc
Скачиваний:
13
Добавлен:
22.09.2019
Размер:
1.99 Mб
Скачать

5.2. Форматирование документа Работа с текстом(продолжение)

      Наиболее важной особенностью работы на VBA в Word является вставка текста в документ при работе с приложениями. Для этого служат объекты Range и Selection, которые являются главными для практически любых операций, которые можно выполнять с помощью Word VBA. Некоторые из этих действий можно применять к документам в целом, но в общем случае вам необходим диапазон или выделенная область, прежде чем вносить изменения. Мы, однако, рассмотрим действия с документом при его создании.       Открытый документ Word уже содержит объекты Range, соответствующие многим его элементам. Каждый абзац, таблица, ячейка таблицы, комментарий и т. д. определяют диапазоны. Например, для того чтобы вставить некоторый текст в уже существующий документ, необходимо прописать код:

      ActiveDocument.Paragraphs(1).Range.Text = «Oxo-xo!!»

      Причем данная строка будет расположена в конце существующего параграфа. С другой стороны, используя объект Selection, можно также вставить некоторый текст в документ, используя метод Add и присвоение свойства Text объекту Selection:

 Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

 If Documents.Count = 0 Then Documents.Add       Selection.Text = "Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, « + TextBox1.Text +», и отвечает запросам всех программистов!»

      В результате выполнения данного программного кода в документе Word будет выведена строка:       Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, Светлана, и отвечает запросам всех программистов!       Здесь имя Светлана, например, считано с текстового поля некоторой формы, имеющей всего одно поле ввода для имени и кнопку «Вывод текста» (рис. 64).  

       Рис. 64.Форма ввода данных         При работе с текстом на рабочем листе 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 – покрывает объект мозаикой из рисунка.       Данные свойства либо устанавливаются в окне свойств объекта, либо прописываются в листинге.          Пример 30. Создать программу, которая будет производить подсчет количества теплоты, выделяемой в проводнике при протекании в нем тока. Формула для расчета количества теплоты известна под именем закона Джоуля – Ленца:

      где Q– количество теплоты в Джоулях;        U– напряжение в вольтах;        t– время в секундах;        S– площадь поперечного сечения проводника в квадратных миллиметрах;        l– длина проводника в метрах;        р– удельное сопротивление материала проводника в Ом ? мм 2/м.         Все исходные данные вводятся в текстовые поля формы. По итогам вычисления результат в виде объяснительной записки выводится в документ, а численный результат – в специальное окно формы.        Технология выполнения       Создайте форму по приведенному рис. 65.  

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