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

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

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

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

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

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

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

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

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

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

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

Игра "Жизнь"

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

На главную

 

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

 Панель рисованияИмена графических объектов  • Как обращаться к графическим объектам, не выделяя их?
Система координатСетка ExcelИспользование других приложений для графики

Панель рисования

После того, как в MS Word освоены возможности панели рисования, при изучении электронных таблиц к ней обычно уже не возвращаются, а потому в сознании многих рисование и графические иллюстрации в Excel воспринимаются как нечто непредполагаемое или  излишнее. Это явное заблуждение. Иллюстрирование документов, заданий, тестов и моделей, созданных в этом приложении, не ограничивается диаграммами и графиками.  Использование рисунков, схем, чертежей, формул Microsoft Equation 3.0 и графических текстов WordArt делает проекты яркими, красочными, доходчивыми и привлекательными. А если к этому добавить анимационные возможности, то эффект будет многократно выше.

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

Далее о динамических эффектах с использованием графических объектов.

Имена графических объектов

Каждому объекту присваивается свой порядковый номер создания или внедрения. Если какие-либо объекты удалялись, порядок счета не нарушается. Большинство автофигур (AutoShape) различаются только номером создания, и обращение к ним производится так: ActiveSheet.Shapes("AutoShape 3").Select – активную плоскую форму «Автофигуру 3» выделить. Однако простейшие примитивы: отрезок, прямоугольник, овал и дуга кроме порядкового номера имеют свои собственные имена, например: "Line 3", "Rectangle 1", "Oval 5", "Arc 7". Для рисунков используется обращение типа "Picture 4", а для объектов, создаваемых на основе кривых Безье, – "Freeform 7" (полилиния). Русский эквивалент можно видеть в окне Имя в самом начале строки формул, там, где отображаются адреса активных ячеек и диапазонов, и это нередко помогает ориентироваться.

При группировке объектов нумерация вновь создаваемых таким образом объектов продолжается, и группа уже может именоваться как "Group 18". В некоторых случаях необходимо единообразное именование объектов, присутствующих в вашем проекте, например, при обращении к объекту в цикле, тогда можно создать небольшой отрезок и за каждый из ваших элементов поместить его копию, сгруппировать образовавшиеся пары и обращаться к ним как к группе с соответствующим номером. Однако наиболее простой и эффектный способ состоит в том, что если вы отбросите «титулы» и в круглых скобках укажете только порядковый номер графического объекта, то вас поймут и вам за это ничего не будет. Так что ActiveSheet.Shapes(3) вполне приемлемая и универсальная форма обращения к графическим (да и не только) объектам, в которой аргумент в скобках может быть переменной целого типа.

Как обращаться к графическим объектам, не выделяя их?

Ответ на этот вопрос рассмотрим на примере:

При записи макроса получили:

ActiveSheet.Shapes("Rectangle 1").Select

  Selection.ShapeRange.IncrementLeft 80

  Selection.ShapeRange.IncrementTop -30

После его преобразования стало:

ActiveSheet.Shapes("Rectangle 1").IncrementLeft 80

ActiveSheet.Shapes("Rectangle 1").IncrementTop -30

Вывод: строку ActiveSheet.Shapes("Rectangle 1").Select необходимо удалить, чтобы маркеры выделения не отвлекали от основного процесса, а в последующем тексте макроса во всех предписаниях для изменения свойств этой фигуры текст Selection.ShapeRange заменить конкретным именем объекта.

Система координат

Положение графических объектов на листе Excel в VBA отсчитывается от левого верхнего угла рабочего листа в пикселях, так что при разрешении экрана 1024 х 768 сцена Excel имеет размеры 734 х 402 рх (при отображении панели рисования и двухрядном расположении стандартной панели и панели форматирования) или 734 х 442 рх (при однорядном расположении и без панели рисования).

Сетка Excel

Панель рисования в MS Excel не совсем та же, что в MS Word. Здесь в меню Рисование строка Сетка отсутствует вовсе. Видимо, предполагается использование сетки Excel.

К сожалению, разработчики MS Excel, по всей вероятности, не предусматривали такого рода художеств в этом приложении, поэтому стандартную сетку невозможно настроить таким образом, чтобы она служила надежной опорой. Так по горизонтали в качестве единицы длины используется ширина некоего знака, причем, как удалось выяснить в ходе экспериментов, 100 таким единицам соответствует примерно 529 пикселей, а шаг изменения размера сетки, как ни странно, почему-то выбран равным 1/7 этой единицы! По вертикали размер вроде бы в пикселях, но радоваться по этому поводу рано. При более детальном исследовании выявляется парадоксальная ситуация: если вы укажете высоту первой строки равной 400 пикселям, то она действительно будет иметь такую высоту, однако, если вы выберете высоту строк 10, то к своему изумлению обнаружите, что на 400 пикселях спокойно размещается  41 строка!? По этой причине, в случае необходимости надежного ориентирования, лучше с помощью панели рисования и макроса, создать свою сетку с шагом 10 рх.

Использование других приложений для графики

Как уже было сказано, в MS Excel существуют проблемы с настройкой сетки, в том числе и в соответствии с метрической системой. Кроме того, в электронных таблицах доступное со стандартной панели увеличение ограничено 200%1. В некоторых случаях более удобно создавать иллюстрации к проектам, используя возможности MS Word, а затем переносить их в свой файл через буфер обмена. Иногда и возможностей текстового редактора недостаточно. Так панель рисования MS Office не позволяет производить логические операции над графическими объектами (пересечение, объединение, вычитание). В этом случае может выручить импорт графического объекта из Corel Draw.

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


1 Указанное в поле масштаба максимальное значение в 200% сбивает с толку. Можете попробовать вписать число до 400%. Действует.На верх

 

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

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