Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

VBA в приложении к Word




МКР: Розділ 2

МКР: Розділ 1

На тему

ОСВІТНЬО-КВАЛІФІКАЦІЙНОГО РІВНЯ

ДИПЛОМНОЇ РОБОТИ

«БАКАЛАВР»

ПІБ

(ПІБ студента)

____________________ ТЕМА _______________________________________________________________

 

Напряму підготовки 6.030601 «Менеджмент»

Професійного спрямування «Менеджмент організацій і адміністрування»

РОЗДІЛ 2 назва

2.1 назва
2.2 назва
Висновки
Розділ 2 (п. 2.1 та 2.2) виконаний на _______%

Зауваження:

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Дата  

Студент _____________ /ПІБ/

(підпис)

Керівник роботи _____________/ПІБ/

(підпис)

ПРОГРАМУВАННЯ АЛГОРИТМІВ ЦИКЛІЧНИХ ОБЧИСЛЮВАЛЬНИХ ПРОЦЕСІВ. РОБОТА З МАСИВАМИ.

Мета роботи:

o Вивчити методику програмування алгоритмів циклічних обчислювальних процесів.

o Реалізувати роботу з масивами за допомогою операторів циклу VB

o Створити власні програми за завданням.

Хід роботи:

Приклад:

Зміст роботи: Роздрукувати всі тризначні цілі числа сума яких дорівнює 20.

Оформлення роботи: Розмістити форму в центрі екрану, змінити розмір форми, кольори фону, символів, кнопки, - використовуючи панелі Form Layout та Properties Form (Alphabetic/Categorized)

 
 


 

Private Sub Command1_Click()

Command1.Caption = "OK"

For i = 1 To 9

For j = 1 To 9

For k = 1 To 9

s = i + j + k

If s = 20 Then Print i; j; k

Next k

Next j

Next i

End Sub

 

 

 
 
Вікно виконання програми  

Приклад. Знайти суму членів ряду Обчислення проводити до тих пір, доки доданок не стане менше числа е (Зовнішній вигляд форми результату)

 
 


Private Sub Command1_Click()

Command1.Caption = "OK"

s = 1: x = 1

n = 1: y = 0.1

f = 1

e = 0.001 ‘задана точність

Do While y >= e

For i = 1 To n

f = f * i

Next i

y = x ^ n / f

s = s + y

n = n + 1

f = 1

Loop

Label1.Caption = Str(s)

End Sub

 

Приклад. За запитом форми InputBox ввести 5 довільних слів, з яких формується одномірний масив. Результат програми – вікно з переліком введених слів.

*Використовується чиста форма Form_Load

 

Private Sub Form_Load()

Dim S1(1 To 5)

For i = 1 To 5

S1(i) = InputBox("Введіть словo " & i, "Масив слів!")

Next i

str_msg = " "

For i = 1 To 5

str_msg = str_msg & S1(i) & ", "

Next i

MsgBox "Ви ввели слова:" & str_msg

і так ще 3 рази…  
End Sub

 

Результат:

 

 

Приклад. Знаходження в одномірному масиві максимального та мінімального елементів, та їх порядкових номерів.

 

Dim A(1 To 10) As Integer

Dim i As Integer, min As Integer, max As Integer, n As Integer

Dim S As String

 

Private Sub Command1_Click()

Command1.Caption = "Розрахунок"

Label1.Caption = " Програма знаходження min та max елементів масиву, та їх індексів."

n1 = InputBox("Введіть кількість елементів <=10:")

n = Val(n1)

For i = 1 To n

A(i) = InputBox("Введіть число:", "Масив")

Next i

min = A(1): max = A(1): kmin = 1: kmax = 1

For i = 2 To n

If A(i) < min Then min = A(i): kmin = i Else

 

If A(i) > max Then max = A(i): kmax = i Else

Next i

Label2.Caption = "min = " & Str(min) & " № - " & Str(kmin)

Label3.Caption = "max = " & Str(max) & " № - " & Str(kmax)

S = ""

For i = 1 To n

S = S + Str(A(i)) & ", "

Next i

Label4.Caption = "Масив: " & S

End Sub

 

 

 

Контрольні запитання.

1. Типи циклів.

2. Вкладені цикли.

3. Поняття масивів.


Завдання для самостійного розв’язку (згідно з варіантами)

*№ варіанту – порядковий номер студента в підгруппі

* Розмірність матриці N задається користувачем з клавіатури.

* При роботі з формами застосувати властивоті змін зовнішнього вигляду.

В.1. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) суму від’ємних елементів масиву;

2) добуток елементів масиву, що розташовані між мінімальним та максимальним елементами.

Впорядкувати елементи масиву за зростанням.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.2. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) суму додатних елементів масиву;

2) добуток елементів масиву, що розташовані між мінімальним та максимальним за модулями елементами.

Впорядкувати елементи масиву за спаданням.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.3. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) добуток елементів масиву, номера яких є парними;

2) суму елементів масиву, що розташовані між першим та останнім нульовими елементами.

Перетворити масив таким чином, щоб спочатку розміщувались всі додатні елементи, після чого – всі від’ємні (елементи, що дорівнюють 0 вважаються додатніми).

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.4. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) суму елементів масиву, номера яких є непарними;

2) суму елементів масиву, що розташовані між першим та останнім від’ємними елементами.

Стиснути масив, знищивши в ньому всі елементи, які менше за 1. Звільнені в кінці масиву елементи заповнити нулями.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.5. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) максимальний елемент масиву;

2) суму елементів масиву, що розташовані до останнього додатного елементу.

Стиснути масив, знищивши в ньому всі елементи, модуль яких знаходиться в інтервалі [ a,b ]. Звільнені в кінці масиву елементи заповнити нулями.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.6. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) мінімальний елемент масиву;

2) суму елементів масиву, що розташовані між першим та останнім додатними елементами.

Перетворити масив таким чином, щоб спочатку розміщувались всі елементи, які дорівнюють нулю, після чого – всі решта.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.7. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) номер максимального елемента масиву;

2) добуток елементів масиву, що розташовані між першим та другим нульовими елементами.

Перетворити масив таким чином, щоб в першій його половині розміщувались елементи, що розташовані на непарних позиціях, в другій половині – інші елементи.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.


В.8. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) номер максимального елемента масиву;

2) суму елементів масиву, що розташовані між першим та другим від’ємними елементами.

Перетворити масив таким чином, щоб в першій його половині розміщувались елементи, модуль яких не перевищує 1., в другій половині – інші елементи.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.9. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) максимальний за модулем елемент масиву;

2) суму елементів масиву, що розташовані між першим та другим додатніми елементами.

Перетворити масив таким чином, щоб всі елементи, які дорівнюють нулю розташовувались після всіх решта елементів.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.10. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) мінімальний за модулем елемент масиву;

2) суму елементів масиву, що розташовані після першого елемента, який дорівнює нулю.

Перетворити масив таким чином, щоб в першій його половині розміщувались елементи, що розташовані на парних позиціях, в другій половині – інші елементи.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.11. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) номер мінімального за модулем елемента масиву;

2) суму модулів елементів масиву, що розташовані після першого від’ємного елементу.

Стиснути масив, знищивши в ньому всі елементи, величина яких знаходиться в інтервалі [ a,b ]. Звільнені в кінці масиву елементи заповнити нулями.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.12. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) номер максимального за модулем елемента масиву;

2) суму елементів масиву, що розташовані після першого додатного елементу.

Перетворити масив таким чином, щоб спочатку розміщувались всі елементи, ціла частина яких знаходиться в інтервалі [ a,b ], після чого – всі решта.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.13. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) кількість елементів масиву, що розташовані в діапазоні від А до В;

2) суму елементів масиву, що розташовані після максимального елементу.

Впорядкувати елементи масиву за спаданням модулів елементів.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.14. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) кількість елементів масиву, що дорівнюють нулю;

2) суму елементів масиву, що розташовані після мінімального елементу.

Впорядкувати елементи масиву за зростанням модулів елементів.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.15 В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) кількість елементів масиву, що більше за С;

2) добуток елементів масиву, що розташовані після максимального за модулем елементу.

Перетворити масив таким чином, щоб спочатку розміщувались всі від’ємні елементи, після чого – всі додатні (елементи, що дорівнюють 0 вважаються додатніми).

На екран вивести: вихідний масив; обчислені значення та перетворений масив.


В.16. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) кількість від’ємних елементів масиву;

2) суму елементів масиву, що розташовані після мінімального за модулем елементу.

Замінити всі від’ємні елементи масиву їх квадратами і впорядкувати елементи масиву за зростанням.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.17. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) кількість додатніх елементів масиву;

2) суму елементів масиву, що розташовані після останнього елементу, який дорівнює нулю.

Перетворити масив таким чином, щоб спочатку розміщувались всі елементи, ціла частина яких не перевищує 1, після чого – решта елементів.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.18. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) кількість елементів масиву, що менше за С;

2) суму цілих частин елементів масиву, що розташовані після останнього від’ємного елементу.

Перетворити масив таким чином, щоб спочатку розміщувались всі елементи, які відрізняються від максимального не більш ніж на 20%, після чого – решта елементів.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.19. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) добуток від’ємних елементів масиву;

2) суму додатніх елементів масиву, що розташовані до максимального елементу.

Змінити порядок розташування елементів в масиві на зворотний.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

В.20. В одномірному масиві, який складається з N дійсних елементів, обчислити:

1) добуток додатних елементів масиву;

2) суму елементів масиву, що розташовані до мінімального елементу.

Впорядкувати за зростанням окремо елементи, що розташовані на парних місцях, і елементи, що розташовані на непарних місцях.

На екран вивести: вихідний масив; обчислені значення та перетворений масив.

 

Пакет Word в сочетании с VBA предоставляет широкие возможности для работы с текстом или фрагментами текста. Можно вызвать для обработки какой-либо абзац, предложение и т.д.

Для доступа к тем или иным фрагментам документа используют такие объекты, как Sections (разделы), Paragraphs (абзацы), Sentences (предложения), Words (слова) и др.

Пример:

Words(6) дает возможность перейти к шестому слову в документе

Sentences(11) переход к одиннадцатому предложению

После перехода к определенной части документа можно использовать объект Font, позволяющий изменять свойства шрифта. Этот объект содержит методы, находящиеся в панели меню “Формат | Шрифт”.

Объект Range является базовым в операции редактирования. Его можно рассматривать как непрерывный фрагмент текста (никак не связанный с выделенной областью), который не зависит от положения курсора. Range включает в себя такие объекты, как Words (слова) или Sentences (предложения); при обращении к ним сам объект Range указывать не нужно, тогда как для Sections (разделы) или Paragraphs (абзацы) это делать необходимо.

Объект Range поддерживает основные методы, которыми пользуются при форматировании текста (такие, как “Копировать”, “Вставить”, “Вырезать”, команды меню “Формат”).

Для выполнения заданий потребуется применение функций, работающих с символьными переменными.

Для знакомства с примерами кодов целесообразно воспользоваться приемом, когда вы форматируете часть документа в режиме записи макроса, а потом анализируете код макроса и редактируете его.

Для записи макроса необходимо:

1. Выбрать в меню “Сервис | Макрос | Начать запись”.

2. Ввести в окне “Запись макроса” в поле “Имя макроса” имя нового макроса.

3. Выбрать в списке “Макрос доступен для” шаблон или документ, в котором будет храниться макрос.

4. Ввести описание макроса в поле “Описание”.

5. Ввести в поле “Назначить макрос” кнопку “Панели” (для назначения макросу кнопки панели инструментов или команды меню); кнопку “Клавишам” (для назначения макросу сочетания клавиш); если макросу назначение не требуется, нажмите кнопку “OK”. Если в процессе работы вы часто используете какой-либо макрос, то целесообразно назначить ему кнопку или сочетание клавиш.

6. Выполнить действия, которые нужно включить в макрос.

* Следует помнить, что для записи действий надо использовать клавиатуру, поскольку действия, произведенные с помощью мыши, не записываются.

7. Нажать после записи макроса кнопку “Остановить запись”.

Существует одна особенность при сохранении готового документа Word, в котором находятся макросы и процедуры. Если вы вспомните работу с макросами в Excel, то при открытии готового документа там всегда задается вопрос: “Отключать макросы при открытии или нет?”. И если вы укажете, что макросы надо отключить, то подготовленные кнопки работать не будут.

В редакторе Word, в отличие от Excel, установлена сильная защита от макросов (макросы рассматриваются как вирусы), и при повторном открытии одного и того же документа, в котором все программы и макросы работали, запроса на включение или отключение макросов не будет, и работать также ничего не будет.

Поэтому при сохранении документа в Word вы должны выполнить следующую последовательность действий:

1. Выбрать “Файл | Сохранить как | Сервис”. Появится диалоговое окно “Сохранение документа”.

2. Выбрать в меню “Сервис” пункт “Параметры безопасности”. Появится диалоговое окно “Безопасность”.

3. Щелкнуть по кнопке “Защита от макросов”, чтобы изменить уровень безопасности файла (по умолчанию установлен Высокий уровень безопасности, поэтомупри повторном открытии файла ваши программы выполняться не будут).

4. Выбрать в появившемся диалоговом окне на закладке “Уровень безопасности” Средний или Низкий уровень безопасности. При выборе Среднего уровня безопасности при открытии документа будет появляться запрос на включение или отключение макросов. Для того чтобы программы и макросы в документе работали, надо выбрать “Не отключать макросы”.

При выборе Низкого уровнябезопасности диалоговое окно появляться не будет, и макросы будут подключаться автоматически.

5. Перейти на закладку “Надежные источники” и включить флажок “ Доверять доступ к Visual Basic Project”.

6. Сохраните документ.

Практическая работа № 1 “Работа в Wоrd”

Спроектировать кнопки, при помощи которых можно провести разбор предложения. При установке курсора на найденное слово и нажатии на соответствующую клавишу слово должно окрашиваться в определенный цвет и подчеркиваться.

Порядок работы.

1. Набрать текст в редакторе WORD.

2. Выбрать в меню “Сервис | Макрос | Начать запись”.

3. Дать макросу имя (например, “ИмяСуществительное”).

4. Ввести описание макроса в поле “Описание”.

5. Определить в поле “Назначить макрос” способ, с помощью которого будет вызываться макрос (кнопка или сочетание клавиш).

6. Выполнить действия, которые нужно включить в макрос.

В нашем случае последовательность действий будет такая: установить курсор перед любым словом; выделить это слово; установить цвет шрифта — красный, одинарное подчеркивание.

Не забывайте, что для записи действий надо использовать клавиатуру!

7. Нажать после записи макроса кнопку “Остановить запись”.

8. Выполнить те же действия для определения сказуемого (только цвет шрифта установить зеленый и задать двойное подчеркивание).

9. Подготовить кнопку “CommandButton1” на рабочем листе выше текста, назвать ее “Подлежащее”.

Если Панель инструментов отсутствует, - “Вид | Панель инструментов | Элементы управления”.

10. Просмотреть записанную программу, скопировать ее и переписать через режим написания программы Исходный текст в кнопку“Подлежащее”.

11. Проделать те же действия и для кнопки “Сказуемое”.

12. Задать уровень безопасности документа.

13. Сохранить работу. Она будет выглядеть примерно так:

Практическая работа № 2 “Количество абзацев в документе”

Рассмотреть документ, который состоит из нескольких абзацев. Задача заключается в том, чтобы программно определить количество абзацев в документе; озаглавить текст; в конце документа вывести сообщение о количестве абзацев.

Мы знаем, что в программе Word количество абзацев определяется по символу ¶, который появляется каждый раз после нажатия на клавишу . Но проверять и подсчитывать количество этих символов нецелесообразно, поскольку существуют стандартные методы. Вспомним, что документ, с которым мы работаем, называется активным документом, и в программе к нему будем обращаться ActiveDocument.

Возьмем для примера текст об Интернете, а именно — о передаче информации и протоколах. Текст содержит 6 абзацев, судя по количеству специальных символов.

Порядок работы.

1. Вызвать панель элементов управления (“Вид | Панели инструментов | Элементы управления”).

2. Подготовить кнопку “CommandButton1” на рабочем листе ниже текста.

3. Переименовать кнопку в “Количество абзацев”. Для этого на панели элементов управления вызовите “Свойства”. Появится панель “Properties”. Выберите свойство “Caption” и в правой колонке наберите название.

4. Придать кнопке свойство обтекания по контуру, чтобы кнопку можно было перемещать по листу. Для этого на объекте кнопка следует вызвать контекстно-зависимое меню и выбрать “Формат объекта”. Появится диалоговое окно “Формат элемента управления”. На вкладке “Положение” выбрать вариант “По контуру”.

5. Выбрать в контекстно-зависимом меню этого объекта команду “Исходный текст” или два раза щелкнуть по кнопке. Откроется редактор режима написания программы.

Алгоритм выполнения задания:

1. Объявить переменные:

a) k — переменная для подсчета количества абзацев в документе;

b) Text — переменная для формирования текста-ответа о количестве абзацев;

c) ZAGOLOVOK — переменная, которая определит область для вывода заголовка.

2. Определить количество абзацев с помощью метода Count объекта Paragraphs.

3. Сформировать текст вывода сообщения.

4. Вставить дополнительный абзац после последнего абзаца документа для вывода сообщения.

5. Вывести текст-сообщение в подготовленный абзац.

6. Сформировать область для вывода заголовка “Протоколы”.

7. Вывести название “Протоколы”.

8. Установить шрифт и размер заголовка.

9. Вставить символ конца абзаца для того, чтобы название и начало текста были на разных строках.

Можно дополнить эту задачу. Например, сообщение о количестве абзацев пусть выводится красным цветом и 14-м размером шрифта. Этот фрагмент учащиеся могут выполнить самостоятельно. Обратите внимание, что место этого фрагмента программы очень важно: он должен располагаться только в этой части программы, а не после работы с заголовком.

Результат выполнения программы представлен на рисунке.




Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 163; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.13 сек.