Офисное программирование
Шрифт:
wdAlignParagraphCenter – выравнивание по центру
wdAlignParagraphJustify – выравнивание по левому краю
вставка в текст конкретного предложения
Selection.TypeText Text:="Пример работы с текстом"
вставка новой пустой строки
Selection.TypeParagraph
установка размера букв
Selection.Font.Size = 14
Примечание. Для правильного оформления кода пользуйтесь возможностями создания макроса написания программы.
Одним
Autosize – изменяет размер рисунка на форме (автоматически или нет);
Picture – отображает графический файл, выводимый на форму;
pictureSizeMode – устанавливает масштабирование рисунка (не весь рисунок, вся поверхность объекта, целиком внутри объекта);
PictureAligment – устанавливает расположение рисунка внутри объекта (слева, справа, вверху, внизу);
pictureTilling – покрывает объект мозаикой из рисунка.
Данные свойства либо устанавливаются в окне свойств объекта, либо прописываются в листинге.
Пример 30. Создать программу, которая будет производить подсчет количества теплоты, выделяемой в проводнике при протекании в нем тока. Формула для расчета количества теплоты известна под именем закона Джоуля – Ленца:
где Q – количество теплоты в Джоулях;
U – напряжение в вольтах;
t – время в секундах;
S – площадь поперечного сечения проводника в квадратных миллиметрах;
l – длина проводника в метрах;
р – удельное сопротивление материала проводника в Ом x мм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).
Назначить форме кнопку или пункт меню для непосредственного вызова приложения из Word нельзя – это можно сделать только для модулей. Поэтому нужно применить следующий способ. Создайте макрос (Меню + Insert + Module) в открытом проекте:
Sub counter
userForm1.Show
End Sub
Переименуйте этот макрос по своему усмотрению, например Teplo. И выполните следующие действия.
1. Щелкните правой кнопкой мыши в любом месте панели инструментов.
2. В этом меню выберите команду Настройка (или Сервис + Настройка).
3. В диалоговом окне Настройка щелкните на ярлыке вкладки Команды.
4. Прокрутите список Категории вниз и найдите пункт Макросы. Выберите этот пункт. В списке «Сохранить в» выберите имя вашего документа, в котором создан макрос (рис. 66).
Рис. 66. Поиск макроса для создания кнопки
5. В правом окне найдите необходимый макрос (либо VBA-программу).
6. Перетащите имя этого макроса или программы на панель инструментов.
7. Создайте соответствующую надпись кнопки и, если нужно, рисунок (при помощи правой кнопки мыши).
8. Закройте диалоговое окно Настройка, чтобы завершить работу.
По выполнении всех перечисленных пунктов будет создана кнопка запуска приложения.
Пример 31. Создать программу, позволяющую заполнять стандартные заявления студентов учебного заведения, если все необходимые данные заполняются в соответсвующих текстовых полях формы, а причина пропусков занятий выбирается из раскрывающегося списка (рис. 67, 68).
Рис. 67. Разработанная форма примера 31 в рабочем состоянии