Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задание 3. Методы и свойства основных объектов MS Excel

Задание.

В ходе выполнения контрольной работы студенту необходимо будет ответить на один теоретический вопрос и выполнить два практических задания. Оформить все задания на листах формата А4 с титульным листом, представленным в приложении. В отчете по практическим заданиям представить тексты полученных макросов и скриншоты результатов работы макросов.

Задание 1. Теоретический вопрос.

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

1. Запись макроса в Word.

2. Запись макроса в Excel.

3. Редактор Visual Basic. (запуск редактора, окна редактора VB).

4. Редактор Visual Basic. (меню редактора).

5. Редактор Visual Basic. (панели инструментов).

6. Типы данных в Visual Basic.

7. Переменные в Visual Basic.

8. Константы в Visual Basic.

9. Выражения в Visual Basic.

10. Математические функции Visual Basic.

11. Использование If…Then…Else.

12. Команды организации циклов в Visual Basic.

13. Использование массивов.

14. Управление файлами с помощью VBA.

15. Атрибуты файла.

16. Использование встроенных диалоговых окон Excel для получения имен файлов.

17. Использование встроенных диалоговых окон Word для получения имен файлов.

18. Работа с дисками и папками.

19. Копирование и удаление файлов.

20. Переименование и перемещение файлов.

21. Формы пользователя. Свойства объекта UserForm.

22. Формы пользователя. Методы объекта UserForm.

23. Формы пользователя. Элементы управления.

24. Формы пользователя. Использование Toolbox.

25. Работа с объектами Worksheets в Excel.

26. Методы, возвращающие объекты Range, в MS Excel.

27. Использование метода Cells в MS Excel.

28. Работа с объектами Document в MS Word.

29. Работа с объектами Template в MS Word.

30. Работа с объектами Selection и Range в MS Word.

Задание 2. Интегрированная среда VBA в Word.

Цель задания

Изучить настройки среды VBA в Word.

Порядок выполнения работы

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

Содержание отчета

- наименование задания;

- результаты работы программы.

Краткая теория

 

Для создания макросов добавьте на панель вкладку РАЗРАБОТЧИК.

Щелкните кнопку Office, выберете кнопку ПАРАМЕТРЫ WORD и в появившемся окне для группы параметров Основные установите флажок Показывать вкладку Разработчик на ленте.

На вкладке Разработчик расположены команды, предназначенные для работы с VBA, макросами, элементами управления, шаблонами и др.

Для вывода диалогового окна Microsoft Visual Basic щелкните на вкладке Разработчик кнопку Visual Basic (в левом углу вкладки) или нажмите комбинацию клавиш Alt+F11.

В состав среды VBA входят следующие элементы:

Окно навигатора проекта (Project Explorer) – отображает состав проекта (документы, шаблоны, формы, модули, модули классов) и позволяет добавлять и удалять элементы проекта: формы, модули, модули классов;

Окно исходного кода – предназначено для редактирования текста программы на VBA;

Окно свойств – отображает перечень свойств и позволяет редактировать значения свойств;

Окно отладки – предназначено для вывода отладочной информации с помощью редактора: debug.print Text;

Формы – диалоговые формы пользователя, содержащие интерфейсные элементы управления для VBA – программ, предполагающих специализированный обмен данными с пользователем;

Браузер объектов Office – предназначен для просмотра иерархии объектной модели Office.

Возможности макрорекодера.

 

Особенности записи макроса:

a) именование макроса – в соответствии с соглашением об именовании переменных (русские имена допускаются);

b) локализация места хранения – документ;

c) назначение панелей и клавиш для быстрого вызова макроса (необязательно);

d) просмотр и редактирование кода в среде VBA.

 

Способы выполнения макроса:

1. запуск макроса из среды host – приложения;

2. запуск макроса из среды VBA;

3. выполнение в среде VBA в режиме отладки.

 

Пример 1.

Рассмотрим основной способ вывода текста в документ Word:

1. создайте новый документ и сохраните его под именем «тест.doc» или «проба.doc».

2. включите запись (запись макроса).

3. напишите какое-либо слово или предложение в созданном документе Word.

4. остановите запись и просмотрите макрос в редакторе VBA:

У вас должен получиться следующий программный код.

 

Sub Макрос1()

Selection.TypeText Text:=”Ваш текст”

End Sub

 

5. измените выводимый текст в редакторе VBA и запустите макрос из среды VBA.

6. просмотрите изменения, произошедшие в документе Word.

 

Пример 2.

 

Рассмотрим способ вывода информации не в документ Word, а в стандартное диалоговое окно. Данный способ можно осуществить только средствами VBA.

1. измените текст макроса следующим образом:

 

Sub Макрос1()

MsgBox (“Мое первое сообщение”)

End Sub

 

Краткие пояснения:

MsgBox (“Мое первое сообщение”)- это вызов стандартного диалога для сообщения;

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

3. обратитесь к справочной системе VBA для изучения особенностей работы стандартного диалога сообщений. Для этого, в редакторе VBA выделите имя функции MsgBox и нажмите F1. Появится окно справки, в котором можно ознакомиться с параметрами вызова этой функции.

Стандартный диалог сообщений имеет развитые средства взаимодействия с пользователем. Ее синтаксис следующий:

Response=MsgBox (prompt,buttons,title).

При запуске этой функции можно задать имя окна (title), само сообщение (prompt) и оформление окна (buttons), а также есть возможность определить какую кнопку нажал пользователь при закрытии этого окна (Response). Только параметр prompt является обязательным, остальные параметры - необязательные и их можно опускать. Оформление окна можно задавать следующими константами:

 

Константа Числовое значение Описание
vbOKOnly   Отображает только кнопку ОК
vbOKCancel   Отображает кнопки ОК и Cancel
vbAbortRetryIgnore   Отображает кнопки Abort, Retry и Ignore
vbYesNoCancel   Отображает кнопки Yes, No и Cancel
vbYesNo   Отображает кнопки Yes и No
vbRetryCancel   Отображает кнопки Retry и Cancel
vbCritical   Отображает значок Critical
vbQuestion   Отображает значок Warning
vbExclamation   Отображает значок Warning Message
vbInformation   Отображает значок Information Message

 

Возвращаемый параметр Response в зависимости от нажатой пользователем клавиши может принимать следующие значения:

константа Числовое значение
vbOk  
vbCancel  
vbAbort  
vbRetry  
vbIgnore  
vbYes  
vbNo  

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

 

Пример 3.

Рассмотрим способ вызова диалога сообщений с использованием всех указанных параметров. При этом параметр Response выведем в окно отладки для просмотра его значения.

1. измените текст макроса из примера 2 следующим образом

 

Sub Макрос1()

Название_окна = «Мой первый диалог»

Сообщение = «мое первое сообщение»

Стиль_окна = vbOKCancel + vbInformation

Ответ = MsgBox(Сообщение, Стиль_окна, Название_окна)

End Sub

 

2. запустите макрос и убедитесь в правильности работы диалога сообщений.

3. просмотрите окно отладки и убедитесь, что числовая константа соответствует нажатой клавише.

 

Задание 2.1. Меняя стиль окна в макросе из примера 3, исследуйте несколько возможных способов оформления окна сообщений, оснащая его различным набором кнопок и значков.

 

Задание 2.2. Измените макрос из примера 3 так, чтобы имя нажатой клавиши выводилось в другое диалоговое окно, вместо вывода числовой константы в окно отладки. Подсказка: для этого воспользуйтесь оператором условного перехода.

 

If Ответ = 1 Then Имя = “OK”

If Ответ = 2 Then Имя = “Cancel”

If Ответ = 3 Then Имя = “Abort”

If Ответ = 4 Then Имя = “Retry”

If Ответ = 5 Then Имя = “Ignore”

If Ответ = 6 Then Имя = “Yes”

If Ответ = 7 Then Имя = “No”

If Ответ < 1 And Ответ > 7 Then Имя=“Имя не определено”

 

Задание 2. 3. Измените макрос из задания 1 так, чтобы имя кнопки определялось не оператором условного перехода, а оператором множественного выбора.

Подсказка:

 

Select Case Ответ

Case 1: Имя = “Ok”

Case 2: Имя = “Cancel”

Case 3: Имя = “Abort”

Case 4: Имя = “Retry”

Case 5: Имя = “Ignore”

Case 6: Имя = “Yes”

Case 7: Имя = “No”

Case Else: Имя = “Имя не определено”

End Select

 

Пример 4. Рассмотрим, каким образом повторяющиеся действия, можно организовать в цикл. Для этого:

1. напишите несколько слов в документе Word.

2. включите запись

3. выделите слово (Ctrl+Shift+стрелка вправо), скопируйте его в буфер обмена и вставьте 5 раз подряд.

4. остановите запись и просмотрите текст макроса в редакторе VBA

 

Sub Макрос1()

Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

Selection.Copy

Selection.Paste

Selection.Paste

Selection.Paste

Selection.Paste

Selection.Paste

End Sub

 

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

 

Sub Макрос1()

Dim counter As Integer

Selection.MoveRight Unit:=wdWord, Count:=1,

Extend:=wdExtend

Selection.Copy

For counter = 1 To 5 Step 1

Selection.Paste

Next

End Sub

 

Убедитесь в правильности его работы.

 

Пример 5. Назначение макросу комбинации клавиш для быстрого вызова:

1. нажмите кнопку «записать макрос»

2. введите имя «Макрос2»

3. сделайте макрос доступным для документа

4. выберите «назначение макроса клавишам»

5. назначьте сочетание клавиш, нажав на клавиатуре комбинацию, например: Ctrl+ 5

6. выберите сохранение изменений «в документе»

7. нажмите кнопку «назначить», а потом «закрыть»

8. в качестве действий макроса определите следующее:

- Главная→Редактирование→Выделить все

- Главная→Шрифт→Полужирный

9. остановите запись

10. верните начертание шрифта к прежнему виду

11. откройте редактор VBA

 

Sub Макрос2()

Selection.WholeStory

With Selection.Font

.Bold = True

.Italic = False

End With

End Sub

 

12. вернитесь в редактор Word, нажмите установленную вами комбинацию клавиш для быстрого запуска макроса и убедитесь в его правильной работе.

 

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

1. нажмите кнопку «записать макрос»

2. введите имя «Макрос2»

3. сделайте макрос доступным для документа

4. выберите «назначение макроса панели»

5. зацепите мышкой иконку команды из категории макросов и перетащите ее на панель Word

6. выберите сохранение изменений «в документе»

Все остальные действия выполняйте аналогично действиям из примера 5.

Для запуска макроса можно использовать выведенную Вами на панель инструментов кнопку.

Внимание! Для изменения иконки воспользуйтесь пунктом меню: Вид→Панели инструментов→Настройка. После чего щелкните правой кнопкой мыши на панели, чью иконку вы хотите изменить. В раскрывшемся меню воспользуйтесь пунктами:

Изменить значок

Выбрать значок

Стили: основной, только текст, значок и текст.

 


Задание 3. Методы и свойства основных объектов MS Excel

 

Цель работы

Объекты Workbook, Worksheet, Range, Select, Cells.

Порядок выполнения работы

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

Содержание отчета

- наименование и цель работы;

- результаты работы программы.

Краткая теория

Объект Workbook.

Объект Workbook представляет собой рабочую книгу, которая хранится в файле с расширением.xls или.xla. При открытии Excel пользователем, в нем создается новая пустая рабочая книга. Когда Excel запускается VBA программой, рабочих книг он не содержит, поэтому задача создания или открытия рабочей книги возлагается на программу. Проект VBA для открытой рабочей книги содержит раздел «Эта книга» и по одному разделу для каждого открытого листа. Подобно объектам ActiveDocument и ThisDocument объектной модели Word, в Excel объекты ActiveWorkBook и ThisWorkBook ссылаются на активную в данный момент рабочую книгу и на книгу, из которой запущен макрос.

Пример 1. Для создания новой рабочей книги используется метод Add коллекции Workbooks.

 

Sub Создать_книгу()

Workbooks.Add

End Sub

 

Пример 2. Для открытия существующей рабочей книги используется метод Open коллекции Workbooks. Если путь к файлу не указан, то используется по умолчанию текущий путь:

 

Sub Открыть_книгу()

Workbooks.Open(“D:\Мои документы\Проба.xls”)

End Sub

 

Или в другом синтаксисе

 

Sub Открыть_книгу()

Workbooks.Open filename:=”D:\Мои документы\Проба.xls”

End Sub

 

Пример 3. Для сохранения рабочей книги, которая имеет свое имя, используется метод Save коллекции Workbooks. Если путь к файлу не указан, то используется по умолчанию текущий путь.

 

Sub Сохранить_книгу()

Workbooks(“Проба.xls”).Save

End Sub

 

Пример 4. Для сохранения новой рабочей книги в первый раз с присвоением ей имени используется метод SaveAs коллекции Workbooks. Этот же метод используется для сохранения рабочей книги под другим именем. Новое имя задается двумя способами: либо непосредственно указывается в программе

 

Sub Сохранить_книгу_как()

Workbooks(“Проба.xls”).SaveAs(“D:\Мои документы\Новая_книга.xls”)

End Sub

 

Либо запрашивается у пользователя с помощью специального диалога

 

Sub Сохранить_книгу_как()

Новое_имя=Application.GetSaveAsFilename

Workbooks(“Проба.xls”).SaveAs(Новое_имя)

End Sub

 

Объект Worksheet

Для добавления нового рабочего листа в книгу используется метод Add коллекции Worksheet: Worksheet.Add (Before, After, Count, Type). VBA присваивает новому рабочему листу очередной номер внутри рабочей книги. Все параметры являются необязательными. Если параметры Before и After опущены, то создается новый рабочий лист, который вставляется перед активным листом. Назначение параметров:

Before – задает лист, перед которым будет вставлен новый лист;

After – задает лист, после которого будет вставлен новый лист;

Count – задает количество новых листов, по умолчанию равен 1;

Type – задает тип создаваемого листа, по умолчанию xlWorksheet.

Пример 8. Добавление нового рабочего листа перед третьим листом в активной рабочей книге:

 

Sub Добавление_листа()

ActiveWorkbook.Worksheets.Add before:=Worksheets(3)

End Sub

 

Добавление нового рабочего листа после последнего листа в активной рабочей книге

 

Sub Добавление_листа()

ActiveWorkbook.Worksheets.Add

after:=Worksheets(Worksheets.Count)

End Sub

 

Добавление двух новых рабочих листов перед первым листом в активной рабочей книге:

 

Sub Добавление_листа()

ActiveWorkbook.Worksheets.Add count:=2

End Sub

 

Пример 9. Свойство Name объекта Worksheets позволяет программно изменять имя рабочего листа. Данный пример демонстрирует добавление нового листа в конец рабочей книги и его переименование:

 

Sub Добавление_листа()

Имя_последнего= Worksheets(Worksheets.Count).Name

Set Лист=Worksheets.Add(after:= Worksheets(Worksheets.Count))

Лист.Name= Имя_последнего & ”0”

MsgBox(“Был последний лист” & Имя_последнего & vbCr & “Стал лист” & Лист.Name)

End Sub

 

Задание 3.1.

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

Час= CSng(Hour(Time))

Мин= CSng(Minute(Time))

Сек= CSng(Second(Time))

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

Пример 10. Для удаления рабочего листа используется метод Delete объекта Worksheet. В данном примере производится удаление листа с именем «Лист 3». В ходе выполнения макроса у пользователя будет запрошено подтверждение на удаление листа.

 

Sub Удаление_листа()

ActiveWorkbook.Worksheets(“Лист 3”).Delete

End Sub

 

Пример 11. Для того, чтобы запрос не выводился, нужно пользоваться свойством DisplayAlerts:

 

Sub Макрос1()

Application.DisplayAlerts=False

ActiveWorkbook.Worksheets(“Лист54”).Delete

Application.DisplayAlerts=True

End Sub

 

Рабочие листы можно копировать и перемещать как в пределах одной рабочей книги, так и между ними. Метод Copy содержит два аргумента: Before и After, назначение которых такое же как и в методе Add. Если аргументы опущены рабочие листы копируются в новую книгу. Синтаксис метода Move не отличается от метода Copy.

Пример 12. Для копирования рабочего листа «Лист1» в позицию после листа «Лист3» метод Copy применяется следующим образом.

 

Sub Копирование_листа()

Worksheets(“Лист1”).Copy after:=Worksheets(“Лист3”)

End Sub

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...