Задание 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

 

Объекты Range, Select, Cells

Объект Range, независимо от текущего выделения в рабочем листе, представляет собой одну ячейку, строку или столбец рабочего листа, а также произвольный двух- или трехмерный блок ячеек рабочей книги. Свойство Cells объектов Application, Worksheets и Range возвращает объект Range, который ссылается на все ячейки активного рабочего листа, заданного рабочего листа или заданного диапазона соответственно. Свойство Item позволяет адресоваться к любой ячейке в заданном диапазоне. Справка по основным командам обмена информацией между программой и таблицей рабочего листа:

 

Команда Описание команды
Q=ActiveCell Получение активной ячейки
Q=ActiveCell.Adress Получение диапазона, ограниченного ближайшими пустыми строками, столбцами или границами таблицы
Worksheets(“Лист1”).Cells(4,6).Value=”ABC” Запись строки «АВС» в ячейку F4 рабочего листа «Лист1» (F – шестая колонка)
Worksheets(“Лист1”).Range(“F1”).Value=3.14 Запись числа 3.14 в ячейку F1 рабочего листа «Лист1»
Range(“D5”).Value=”=10*A1”

Запись формул в заданные ячейки (знак доллара означает абсолютное смещение)

Worksheets(“Лист1”).Range(“A4”).Formula= ”=$A$1+$A$2”
Range(“D5”).Value=”=sum(B1:B10)” Запись встроенной функции в ячейку D5 рабочего листа
Q=Worksheets(“Лист1”).Cells(2,2).Value Чтение содержимого ячейки В2 (В – вторая колонка)
Q=Worksheets(“Лист1”).Range(“A4”).Value Чтение результата формулы, находящейся в ячейке А4
Q=Worksheets(“Лист1”).Range(“A4”).Formula Чтение формулы, находящейся в ячейке А4

 

Пример 14. Заполнение первых десяти ячеек четвертой строки квадратами чисел от 1 до 10.

 

Sub Макрос1()

For i=1 To 10

Worksheets(“Лист1”).Cells(4,i).Value=i*i

Next i

End Sub

 

Задание 3.2. Заполните семь ячеек пятой колонки квадратными корнями чисел от 1 до 7. Подсказка: sqr(x) – функция, вычисляющая квадратный корень числа х.

Задание 3.3. Заполните пять ячеек второй колонки случайными числами. Подсказка: Пример функции, возвращающей случайное число от 0 до 1 в ячейку А1: Worksheets(2).Cells(1,1).Formula=”=rand()”

Задание 3.4. На основании результатов работы программы из задания 3, разработайте программу, определяющую сумму в столбце. Подсказка: используйте встроенную функцию “=sum(B1:B5)”

Приложение

 

ФБГОУ ВПО Кубанский государственный технологический университет

(КубГТУ)

 

 

Контрольная работа

 

по дисциплине Прикладное программирование

                  (наименование дисциплины)

Выполнил (а) студент (ка) группы ________________________________

_____________________________________________________________

(фамилия, имя отчество студента)

Факультета Машиностроения и автосервиса

 

Преподаватель Носова Юлия Сергеевна

Кафедры ИСП, институт КСИБ

 

Защищена _____________________

               (дата)

Краснодар

2016


Дата добавления: 2018-05-12; просмотров: 270; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!