Функциональное назначение процедур




 

Проект состоит из: 1) документа ThisDocument;

2) программного модуля Module1;

3) пользовательских форм UserForm1, UserForm2 и Деление_амёбы.

Программа открывающегося документа ThisDocument содержит процедуру Document_Open() – процедура, которая выполняется при открытии документа, и в которой прописан код для создания панели инструментов (Application.CommandBars.Add(Name:="Работа с текстом", Position:=msoBarTop, menubar:=False, temporary:=True)). Также в ThisDocument прописаны коды для создания кнопок панели инструментов «Работа с текстом».

Программный модуль Module1 содержит процедуры:

§ Кнопка1() – открытие документа по имени файла (Set WorkDoc = Documents.Open(FileName:="A:\Моя курсовая работа\ Землетрясения. doc")

Кнопка со списком, включающая в себя: - Кнопку2() – выделение первого абзаца после заголовка (ActiveDocument.Paragraphs(2).Range.Select) - Кнопку3() – вырезание первого абзаца (ActiveDocument. Paragraphs (2).Range.Cut) - Кнопку4() – вставка вырезанного абзаца (ActiveDocument. Paragraphs(4).Range.Paste)

§ Кнопка5() – форматирование вставленного абзаца (Selection.Font)

§ Кнопка6() – добавление границы к последнему абзацу (ActiveDocument.Paragraphs(4).Borders(wdBorderBottom))

§ Кнопка7() – процедура вывода формы «Деление амёбы» для выполнения задания (Деление_амёбы.Show)

§ Кнопка8() – процедура вызова формы «Справка о разработчике» (см. Приложение С, Листинг 2).


Описание процедур

 

ThisDocument (Листинг программы см. Приложение С, Листинг 1):

Для создания новой панели инструментов скрыли следующие панели инструментов: Стандартная (Standard), Форматирование (Formatting) и Рисование (Drawing) с помощью свойства Visible (=False).

Добавили новую панель при помощи функции Add, устанавливая при этом некоторые свойства: Name: = «Работа с текстом», Position:=msoBarTop, menubar:=False, temporary:=True). Visible = True.

Добавили Кнопку1 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption ‘заголовок’ = "Открыть";.Style ‘стиль’= msoButtonCaption;.TooltipText ‘текст подсказки’= "Открытие текстового документа";.OnAction = "Кнопка1").

Добавили кнопку с раскрывающимся списком с помощью функции Add, установили её тип (Type:=msoControlPopup), свойство Caption = “Перемещение” и функцию Controls. В список добавили: - Кнопку2 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption = "Выделить";.Style = msoButtonCaption;.OnAction = "Кнопка2"). - Кнопку3 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption = "Вырезать";.Style = msoButtonCaption;.OnAction = "Кнопка3"). - Кнопку4 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption = "Вставить";.Style = msoButtonCaption;.OnAction = "Кнопка4").

Добавили Кнопку5 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption = "Форматирование";.Style = msoButtonCaption;.TooltipText = "Форматирование последнего абзаца";.OnAction = "Кнопка5").

Добавили Кнопку6 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption = "Граница";.Style = msoButtonCaption;.TooltipText = "Добавление границы";.OnAction = "Кнопка6").

Добавили Кнопку7 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption = "Задание";.Style = msoButtonCaption;.TooltipText = "Выполнение задачи";.OnAction = "Кнопка7").

Добавили Кнопку8 с помощью функции Add, установили её тип (Type:=msoControlButton, ID:=1) и прописали свойства (.Caption = "Справка";.Style = msoButtonCaption;.TooltipText = "Справка";.OnAction = "Кнопка8").

Модуль (Листинг программы см. Приложение С, рисунок 2):

Для Кнопки1 с помощью оператора описания Dim обозначили тип переменной WorkDoc – Document и прописали путь документа для открытия:

'Открытие документа по имени файла

Dim WorkDoc As Document

Set WorkDoc = Documents.Open(FileName:="A:\Моя курсовая работа\Землетрясения.doc").

Для Кнопки2 описали процедуру для выделения первого абзаца после заголовка:

ActiveDocument.Paragraphs(2).Range.Select

With Selection.Font

.Name = "Times New Roman"

.Size = 14

End With

Для Кнопки3 описали процедуру для вырезания первого абзаца документа:

ActiveDocument.Paragraphs(2).Range.Cut

Для Кнопки4 описали процедуру для вставки из Буфера обмена вырезанного фрагмента:

ActiveDocument.Paragraphs(4).Range.Paste

Кнопка5 содержит в себе процедуру форматирования вставленного в конец документа абзаца:

ActiveDocument.Paragraphs(4).Range.Select

With Selection.Font

.Name = "Courier New"

.Italic = wdBold ‘полужирный’

.Size = 16

.Color = wdColorLightBlue ‘голубой’

End With

Для Кнопки6 описали процедуру для добавления границы к вставленному абзацу:

ActiveDocument.Paragraphs(4).Range.Select

With ActiveDocument.Paragraphs(4).Borders(wdBorderBottom) ‘нижняя’.LineStyle = wdLineStyleDouble ‘двойная линия’.LineWidth = wdLineWidth025pt ‘толщина линии’ End With

With ActiveDocument.Paragraphs(4).Borders(wdBorderLeft) ‘левая’.LineStyle = wdLineStyleDouble.LineWidth = wdLineWidth025pt

End With

With ActiveDocument.Paragraphs(4).Borders(wdBorderRight) ‘правая’.LineStyle = wdLineStyleDouble.LineWidth = wdLineWidth025pt

End With

With ActiveDocument.Paragraphs(4).Borders(wdBorderTop) ‘верхняя’.LineStyle = wdLineStyleDouble.LineWidth = wdLineWidth025pt

End With

Кнопка 7 – это кнопка вызова формы «Задание»:

Деление_амёбы.Show.

Кнопка8 – это кнопка вывода формы «Справка о разработчике»

UserForm1.Show.


Пользовательская форма Деление_амёбы (Листинг программы см. Приложение С, Листинг 3):

Задача проекта решается заданием цикла с параметром (цикл со счётчиком), который служит для организации циклов с заранее известным числом повторений.

С помощью оператора описания Dim объявляем тип переменной Х –Integer, result – Double, str и str1 – String.

В поле ввода TextBox1.Text вводится первоначальное количество амёб.

При нажатии кнопки «Результат» появляются надписи Label2 «Время в часах» и Label3 «Количество амёб», в поле ввода TextBox2 выводится заданная строка со значениями времени, в поле ввода TextBox3 выводятся результаты вычислений.

Если в текстовое поле TextBox1 не введено значение количества амёб, то в поле TextBox1 ставится нулевое значение, а в поле TextBox2 выводится сообщение «амебы не введены», а в поле TextBox3 выводится «введите начальное кол-во амеб» (см. Приложение B, Рисунок 6).




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: