Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Программа СлучайныеЧислаОформление




Модернизируем программу СлучайныеЧисла таким образом, чтобы ячейки со случайными числами были с пунктирными границами синего цвета, а сами числа были в начертании курсив. Новой программе присвоим имя СлучайныеЧислаОформление.

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

1) Sub Макрос1()
2) Range("A1:A10").Select
3) Selection.Font.Italic = True
4) Selection.Borders(xlDiagonalDown).LineStyle = xlNone
5) Selection.Borders(xlDiagonalUp).LineStyle = xlNone
6) With Selection.Borders(xlEdgeLeft)
7) .LineStyle = xlDot
8) .Weight = xlThin
9) .ColorIndex = 5
10) End With
11) With Selection.Borders(xlEdgeTop)
12) .LineStyle = xlDot
13) .Weight = xlThin
14) .ColorIndex = 5
15) End With
16) With Selection.Borders(xlEdgeBottom)
17) .LineStyle = xlDot
18) .Weight = xlThin
19) .ColorIndex = 5
20) End With
21) With Selection.Borders(xlEdgeRight)
22) .LineStyle = xlDot
23) .Weight = xlThin
24) .ColorIndex = 5
25) End With
26) With Selection.Borders(xlInsideVertical)
27) .LineStyle = xlDot
28) .Weight = xlThin
29) .ColorIndex = 5
30) End With
31) With Selection.Borders(xlInsideHorizontal)
32) .LineStyle = xlDot
33) .Weight = xlThin
34) .ColorIndex = 5
35) End With
36) Range("A1").Select
37) End Sub

После работы макрорекордера желательно оставить только те строки, которые изменяют свойства объекта, установленные по умолчанию. В данном случае можно убрать 4–ю и 5-ю строки, а также строки, в которых прописана толщина границ[8] (т.е. строки 8, 13, 18, 23, 28 и 33) и внутренние вертикальные границы (строки 26 – 30).

Переименовав Макрос1 в Оформление, в результате получим следующий код:

1) Sub Оформление()
2) Range("A1:A10").Select
3) Selection.Font.Italic = True
4) With Selection.Borders(xlEdgeLeft)
5) .LineStyle = xlDot
6) .ColorIndex = 5
7) End With
8) With Selection.Borders(xlEdgeTop)
9) .LineStyle = xlDot
10) .ColorIndex = 5
11) End With
12) With Selection.Borders(xlEdgeBottom)
13) .LineStyle = xlDot
14) .ColorIndex = 5
15) End With
16) With Selection.Borders(xlEdgeRight)
17) .LineStyle = xlDot
18) .ColorIndex = 5
19) End With
20) With Selection.Borders(xlInsideHorizontal)
21) .LineStyle = xlDot
22) .ColorIndex = 5
23) End With
24) Range("A1").Select
25) End Sub

Комментарии к программе:

1. Обратите внимание на 2-ю строку программы. В данном случае, когда границы диапазона известны, такая запись удобна. Предположим, что количество разыгрываемых чисел задает пользователь, т.е. нижняя граница известна, а верхняя – нет. Тогда эту команду можно записать, воспользовавшись свойством Cells:

Range(Cells(1,1),Cells(m,1)).Select

где m – количество разыгрываемых чисел – определяет номер последней строки.

В общем случае команда запишется так:

Range(Cells(n,q),Cells(m,p)).Select

где n и m – номера строк, а q и p – номера столбцов.

2. Предположим, что выделение блока ячеек нежелательно. Тогда вместо 2-й и 3-й строк можно записать одну команду:

Range("A1:A10").Font.Italic = True

Точно так же блок (4) – (7) можно записать в следующем виде[9]:

With Range("A1:A10").Borders(xlEdgeLeft)

.LineStyle = xlDot

.ColorIndex = 5

End With

3. Аналогично, ссылаясь на диапазон ячеек, можно указать лист, в котором он находится:

WorkSheets("Случ. числа").Range("A1:A10").Font.Italic _

= True

With WorkSheets("Случ. числа").Range("A1:A10"). _

Borders(xlEdgeLeft)

.LineStyle = xlDot

.ColorIndex = 5

End With

или книгу:

Workbooks("Случайные числа.xls"). _

WorkSheets("Случ. числа").Range("A1:A10").Font.Italic = True

With Workbooks("Случайные числа.xls"). _

WorkSheets("Случ. числа")Range("A1:A10"). _

Borders(xlEdgeLeft)

.LineStyle = xlDot

.ColorIndex = 5

End With

Задания:

1. Скопируйте программу СлучайныеЧисла и назовите её СлучайныеЧислаОформление. Вставьте строки (2) – (24) из программы Оформление после 11-й строки новой программы. Протестируйте полученный код.

2. Переименуйте Модуль2 – в Примеры. В модуле Примеры:

2.1. Напишите 2 программы (ИзменениеЗаголовкаExcel и ВозвратСтандартногоЗаголовка), одна из которых изменяет заголовок Excel на заголовок «Розыгрыш случайных чисел», а вторая возвращает его стандартное значение

2.2. Оформите в виде программы СписокФайлов следующий код (вывод в таблицу списка файлов из папки C:\St):

Path = "C:\St" 'определяет папку

Файл = Dir(Path) 'возвращает имя первого файла

i = 1

While Файл <> "" 'см. 8.3 из курса лекций

Cells(i,2).Value = Файл

Файл = Dir

i = i + 1

Wend

2.3. Оформите в виде программы ЗаменитьФайл проверку наличия файла Случайные числа.xls и выведите диалог о его замене.

Path = "C:\St\Случайные числа.xls"
Filename = Dir(Path)
If Filename <> "" Then
'В переменной Сообщение задается структура диалогового 'окна:
Сообщение = vbYesNo + vbQuestion + vbDefaultButton1
'Выводит сообщение:
Кнопка = MsgBox(("Файл " & Filename & _ " уже существует. Заменить его?"), Сообщение)
Select Case Кнопка
Case vbYes
MsgBox "Нажата кнопка Да!"
Case vbNo
MsgBox "Нажата кнопка Нет!"
End Select
Else
MsgBox "Файл " & Filename & " не найден!"
End If

2.4. Напишите программу ЗапросИмени, которая запрашивает Ваше имя:

и выводит следующие сообщения:

§ - если имя задано ("Светлана")

 

§ - если имя не задано.

 

Переменные

Примеры использования переменных присутствуют во всех программах данного практикума. Здесь же мы познакомимся поближе с объектными переменными и переменными пользовательского типа.

Объектные переменные

Как вы знаете, объектная переменная используется для ссылки на объект. Они объявляются и задаются немного иначе, чем остальные переменные. Ниже представлен фрагменте кода, в котором объектная переменная сначала объявляется, а затем ей присваивается значение: Range1- это первая ячейка первого листа.

Dim Range1 As Object

Set Range1 = Worksheets(1).Range("A1")

Предположим, что в программе Оформление из параграфа 2.3 (стр. 29) нам необходимо указывать «полный» адрес диапазона ячеек A1:A10. Очевидно, что программа окажется перегруженной и трудной для восприятия.

Sub ОформлениеПолнаяСсылка()

Workbooks("Случайные числа.xls"). _

WorkSheets("Случ. числа").Range("A1:A10").Font.Italic = True

With Workbooks("Случайные числа.xls"). _

WorkSheets("Случ. числа")Range("A1:A10"). _

Borders(xlEdgeLeft)

.LineStyle = xlDot

.ColorIndex = 5

End With

...

' на досуге можете ввести остальные команды! J

End Sub

Введя объектную переменную, мы существенно сократим программу, сделаем её простой и более наглядной. В следующем коде объектная переменная MyRange – это диапазон ячеек A1:A10, расположенный в книге Случайные числа.xls на листе Случ. числа:

1) Sub ОформлениеОбъектнаяПеременная()
2) Dim MyRange As Object
3) SetMyRange = Workbooks("Случайные числа.xls"). _ WorkSheets("Случ. числа").Range("A1:A10")
4) MyRange.Font.Italic = True
5) With MyRange.Borders(xlEdgeLeft)
6) .LineStyle = xlDot
7) .ColorIndex = 5
8) End With
9) With MyRange.Borders(xlEdgeTop)
10) .LineStyle = xlDot
11) .ColorIndex = 5
12) End With
13) With MyRange.Borders(xlEdgeBottom)
14) .LineStyle = xlDot
15) .ColorIndex = 5
16) End With
17) With MyRange.Borders(xlEdgeRight)
18) .LineStyle = xlDot
19) .ColorIndex = 5
20) End With
21) With MyRange.Borders(xlInsideHorizontal)
22) .LineStyle = xlDot
23) .ColorIndex = 5
24) End With
25) Range("A1").Select
26) End Sub

Задания:

1. В Модуль3 наберите программу ОформлениеОбъектнаяПеременная.

2. На листе Случ. числа очистите форматы, активизируйте другую книгу и запустите программу ОформлениеОбъектнаяПеременная.

 





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


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 391 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2307 - | 2155 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.