Динамические эффекты

Предварительная подготовка

Эффекты форматирования

Графические объекты

Движение объектов

Ожившие графики

Другие варианты

Вентильные схемы

Автоматизация тестирования

Автоматизация оценки

Проект "Машина времени"

Игра "Жизнь"

Заполнение аттестатов

На главную

 

Другие варианты

 Анимация сменой слайдов в различных графических форматах
Последовательный переход с одного листа книги на другой Изменение положения камеры
 Цветовые модели. Сжатие ячеек Вставка звуков

Анимация сменой слайдов
в различных графических форматах

Не трудно проверить, что в электронных таблицах анимация в форматах GIF и Flash не поддерживается. Тем не менее, не стоит отчаиваться. Сейчас вы убедитесь, что  MS Excel в области анимации способен «оживить» даже самые бесперспективные графические форматы, используя для этого простейший макрос.

В предлагаемом проекте фотографии Луны в формате PNG (вряд ли кто слышал об анимации в этом формате) с именами от «Pictures 1» до  «Pictures 28» сложены в одну стопку. Включим запись макроса и произведем следующие действия:

-   выделим верхний снимок;

-   выберем в контекстном меню Порядок;

-   укажем в дополнительном меню На передний план;

-   завершим создание макроса.

Оставим в макросе только строку

ActiveSheet.Shapes("Pictures 1").ZOrder msoBringToFront

и преобразуем его к виду:

For n = 1 To 28

  ActiveSheet.Shapes(n).ZOrder msoBringToFront

  Range("A1").Select

  For T = 1 To Tik*5: Next T

Next n

Фотографии, не взирая на свое происхождение, «всплывают» друг за другом, демонстрируя полный цикл смены фаз Луны. Дополнительный цикл позволит исполнить эту процедуру неоднократно.

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

Последовательный переход с одного листа книги на другой

Технология создания анимации этим способом следующая:

1. Удаляем все листы книги, кроме первого. Ему даем короткое имя, например, «1», чтобы как можно больше листов было доступно при редактировании. Имя листа не имеет значения и  не обязательно должно быть коротким. Обращение к листу в макросе будет производиться по его индексу, который с именем не связан.

2. Создаем первый кадр сцены со всеми необходимыми объектами.

3. Используя Правка – Переместить/скопировать лист…, выбираем в диалоговом окне (переместить в конец) и отмечаем флажок Создавать копию. Копии даем имя «2».

4. На копии производим необходимые изменения расположения и других свойств объектов, соответствующих второму кадру.

5. Повторяем пункты 3 и 4 необходимое число раз, давая соответствующие имена листам.

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

For i = 1 To 20

  Sheets(i).Select

  For t = 1 To Tik: Next t

Next i

Не исключен вариант анимации на основе смены кадров с помощью клавиш Page Down и Page Up, что на VBA выглядит как:

ActiveWindow.LargeScroll Down:=1

Недостатком этого варианта является, прежде всего, более высокая трудоемкость расположения объектов на каждой новой сцене, а также отвлекающее мелькание заголовков строк и полосы прокрутки при исполнении.

Изменение положения камеры

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

For i = 1 To 100

  ActiveWindow.SmallScroll Down:=1 ‘смещение на строку

  For t = 1 To Tik: Next t

Next i

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

ActiveWindow.SmallScroll ToRight:=1.

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

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

For i = 100 To 20 Step -1

  ActiveWindow.Zoom = i

  For t = 1 To Tik: Next t

Next i

Масштаб может изменяться в пределах от 10% до 400%.

Цветовые модели. Сжатие ячеек

Ячейка электронной таблицы может выступать в роли пикселя и даже в роли составной части элемента изображения экрана, соответствуя одному из компонентов системы основных цветов RGB. Используя эту возможность, нетрудно создать динамические модели, которые позволяют наглядно и убедительно продемонстрировать, как образуется цветовая гамма на CRT и LCD мониторах, сложение цветов в опыте Юнга и колориметре Максвелла, вычитание цветов в системе CMYK. Кроме того, динамичное, наглядное преобразование двоичного представления изображения в шестнадцатеричное, десятичное и затем в соответствующие цвета ячеек, с последующим сжатием ячеек до размера экранной точки, позволяют эффективно продемонстрировать, что такое количество отображаемых цветов, глубина цвета, размер и объем изображения и как они связаны между собой. Изменение ширины и высоты ячеек также фиксируется в макросах, на чем и основываются предлагаемые проекты. Правда, возможности Excel в плане использования заливок ячеек ограничены 56 индексными цветами, поэтому для полноты цвета в системе RGB можно воспользоваться заливками векторных графических объектов типа:

ActiveSheet.Shapes("Freeform 3").Fill.ForeColor.RGB = RGB(255, 0, 0)

Можно задавать цвет и с помощью индексов, что удобно в циклах, но вот очередной парадокс от корпорации Microsoft: несмотря на то, что при закраске ячеек и закраске автофигур вы нажимаете на одни и те же значки и кнопки, тем не менее, одним и тем же индексам будут соответствовать разные цвета в первом и во втором случаях, что необходимо учитывать. Кроме того, количество индексов для закраски автофигур равно 80, хотя некоторым цветам соответствуют два индекса, например, красному цвету соответствуют индексы 2 и 10.

Вот пример закраски ячейки:

Range("F5").Font.ColorIndex = 3     ‘цвет текста

Range("F5").Interior.ColorIndex = 3 ‘цвет заливки

Range("F5").Borders.ColorIndex = 3  ‘цвет границ

А это закраска прямоугольника:

ActiveSheet.Shapes("Rectangle 1").Fill.ForeColor.SchemeColor = 2  ‘цвет заливки

ActiveSheet.Shapes("Rectangle 1").Line.ForeColor.SchemeColor = 10 ‘цвет границ

Аналогично закрашиваются и объекты WordArt.

Во всех примерах цвет красный.

Вставка звуков

Не все знают, что приложения MS Office, в том числе и Excel, способны внедрять, хранить и воспроизводить звуки в формате wav. Это позволяет озвучивать создаваемые проекты. Для вставки звука необходимо в горизонтальном меню выбрать Вставка – Объект… и на вкладке Новый выбрать Звукозапись. С помощью появившегося окна утилиты звукозаписи можно записать комментарий или, выбрав в меню Правка – Вставить файл…, произвести вставку мелодии или сообщения. При этом на рабочем поле появляется значок динамика,  а в строке формул: =ВНЕДРИТЬ("SoundRec";"").

Если сделать двойной щелчок по динамику, то звук начнет воспроизводиться. Этим же способом можно создать и макрос для включения звука.

ActiveSheet.Shapes("Object 3").Select

Selection.Verb Verb:=xlPrimary

При необходимости значок динамика можно уменьшить и спрятать за какой-либо графический объект или управляющую кнопку.

На верх

 

Динамические эффекты Предварительная подготовка Эффекты форматирования Графические объекты
&Движение объектов Ожившие графики Другие варианты Вентильные схемы Автоматизация тестирования
Автоматизация оценки Проект "Машина времени" Игра "Жизнь" Заполнение аттестатов

© 2007 Государственное областное образовательное учреждение
"Россошанская школа-интернат для детей-сирот и детей, оставшихся без попечения родителей"