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

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

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

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

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

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

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

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

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

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

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

Игра "Жизнь"

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

На главную

 

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

Запуск файла и система безопасности Настройка рабочего листаПанель Visual Basic
Сбои при исполнении макросов и досрочный выходЗащита файловПеренос файлов на другие компьютеры
Вставка и настройка элементов управленияЯчейки MS Excel Обращение к ячейке
Обращение к ячейкам без выделенияПрисваиваниеЗадержкаСкрытие элементов

Запуск файла и система безопасности

Для того чтобы макросы исполнялись в MS Excel, могут понадобиться дополнительные настройки. Выберите в меню Сервис – Макрос – Безопасность… и установите средний уровень безопасности. После этого файл закройте и откройте снова. Если вы открываете файл, в котором есть макросы, появится предупреждение системы безопасности о возможности наличия в них вирусов. При уверенности, что открываемый файл безопасен для вашего компьютера, нажмите кнопку Не отключать макросы.

Настройка рабочего листа

Во многих случаях при создании демонстрационных пособий полезен вид листа с сеткой, похожей на разлиновку тетради «в клетку». Для этого выделите весь лист, щелкнув в клетку на пересечении заголовков столбцов и строк, а затем, перейдя на заголовки столбцов, через контекстное меню установите ширину столбцов равную 2. При необходимости сетку можно отключить, выбрав в меню Сервис – Параметры закладку Вид, на которой сбросить флажок сетка.

Панель Visual Basic

Для работы с макросами удобно пользоваться панелью Visual Basic, для отображения которой вызовите контекстное меню на панели инструментов и выберите строку Visual Basic.

Кнопка  служит для включения записи макроса. После нажатия на нее появляется диалоговое окно, в котором вам предлагается дать имя макросу и выбрать сочетание клавиш для его запуска. Можете оставить все по умолчанию, однако поиск необходимого макроса по его номеру при создании большого проекта может усложниться. Закрыв диалоговое окно, вы обнаружите, что кнопка Запись макроса изменила свой вид на  и теперь служит для того, чтобы Остановить запись. Запуск макроса на исполнение осуществляется кнопкой Выполнить макрос . При ее нажатии появляется диалоговое окно, в котором предлагается выбрать макрос для выполнения, изменения, удаления или установки параметров запуска. Изменение макроса осуществляется в интегрированной среде, в которую можно перейти и нажатием на кнопку  Редактор Visual Basic. Кнопкой  вызывается панель Элементы управления, но, чтобы воспользоваться ею, необходимо с помощью кнопки  переключиться в Режим конструктора.

Сбои при исполнении макросов и досрочный выход

Исполняя макрос, Excel всецело занят только им и не реагирует на попытки вмешательства. Прервать макрос можно нажатием на клавишу Esc. При досрочном выходе, а также при отладке, нередки ситуации ошибок и сбоев, после которых Excel перестает откликаться на ваши действия. Для того чтобы вывести его из состояния «оцепенения», необходимо переключиться  в  Редактор Visual Basic и на панели инструментов нажать кнопку с квадратиком  Reset.

Защита файлов

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

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

Отлаженный и замечательно работающий проект может совсем иначе повести себя на другом компьютере. Первой причиной такого неожиданного поведения может оказаться более ранняя версия MS Excel, чем у вас. Так, например, если вы создавали свой проект в MS Office 2003, то в MS Office 2000 могут возникнуть проблемы с полупрозрачными и градиентными заливками графических объектов. Кроме того, там отсутствует возможность обращения в макросе к элементу группы по его имени, и если вы использовали группировку, то проблем вам не избежать. Другой причиной, которая возникает даже при совпадающих версиях, является то, что помимо вашего желания, файл проекта сохраняет следы экспериментов по использованию приложений, которые в окончательный вариант даже не вошли, но на другом компьютере или вовсе неустановленны или сконфигурированы иначе.

Чтобы избежать этой проблемы, необходимо в Редакторе Visual Basic через меню Tools – References открыть диалоговое окно Available References (доступные ссылки) и убрать, где можно, флажки.

Вставка и настройка элементов управления

Макрос можно запустить определенным сочетанием клавиш, щелчком на графическом объекте или с помощью элементов управления. Остановимся на последнем способе и рассмотрим создание и настройку кнопки и счетчика. Счетчики понадобятся нам для управления макросами.

Вызовите панель Элементы управления, нажав на панели Visual Basic кнопку, и выберите на ней элемент Кнопка.

Не отпуская правую кнопку мыши, нарисуйте на рабочем листе кнопку необходимого размера. Для настройки свойств кнопки сделайте на ней двойной щелчок левой кнопкой мыши. Откроется окно Visual Basic с окнами проекта (Project), свойств (Properties) и кода.

В окне свойств, в стоке Caption (заголовок) текст CommandButton1 измените на подходящий по назначению кнопки, остальные свойства, в том числе и имя объекта (Name), можно не менять.

Чтобы макрос запускался нажатием кнопки, его текст необходимо скопировать в окно кода в пространство между строками Private Sub CommandButton1_Click() и End Sub.

Для создания счетчика выберите на панели элементов управления кнопку  и на рабочем листе нарисуйте изображение счетчика в вертикальном или горизонтальном исполнении. Двойным щелчком по изображению счетчика перейдите в Visual Basic и на панели свойств объекта SpinButton в строке LinkedCell (связанная ячейка) укажите имя ячейки, в которой будут отображаться значения счетчика. В строке Max установите максимальное допустимое значение, а в строке Min – минимальное (неотрицательное), исправив предлагаемые по умолчанию значения. Свойство SmallChange позволяет устанавливать шаг счетчика (целое число). В случае необходимости отрицательных значений и дробных шагов используется ячейка с формулой, в которой на основе данных связанной ячейки вычисляются необходимые значения. Связанную ячейку в этом случае можно скрыть. Свойство Value устанавливает начальное значение счетчика и отображает текущее значение, которое можно читать и изменять в макросе, обращаясь к нему SpinButton1.Value. Свойство Delay (задержка) позволяет установить время реакции на нажатие кнопок счетчика.

Ячейки MS Excel

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

Обращение к ячейке

При записи макроса обращение к ячейке, точнее ее имя, обычно выглядит так Range("F4"), а к диапазону – Range("F19:G21") или Range("F6:H11,J11,K8"), то есть обращение как к диапазону, так и к ячейке  происходит по единому правилу. Однако это не всегда бывает удобно, особенно, когда в качестве номера строки или столбца используются переменные (например, в цикле). В этом случае Range("F4") лучше заменить на Cells(4,6), где 4 – номер строки, а 6 – номер столбца F. Чтобы быстро определять номер столбца, полезно на стадии создания проекта в первой строке методом протягивания за маркер автозаполнения их пронумеровать в пределах окна.

Обращение к ячейкам без выделения

Записывая макрос, мы выделяем те или иные объекты, а затем производим изменения их свойств. При этом ячейки и диапазоны выделяются широкими черными границами и заливкой, тексты – черным фоном и инверсным цветом, а графические объекты – угловыми и боковыми маркерами. Если не принять никаких мер, то при воспроизведении анимации такого рода «сопровождение» никуда не исчезнет и будет только отвлекать от сути. Однако проблема вполне разрешима. Рассмотрим фрагмент макроса:

Range("E10").Select

Selection.ClearContents

Selection.FormulaR1C1 = "Привет!"

  With Selection.Font

      .Name = "Times New Roman"

      .Size = 16

      .ColorIndex = 3

  End With

Selection.Interior.ColorIndex = 37

В первой строке выделяется (Select) ячейка "E10". В последующих строках обращение к ней идет как к выделенному объекту. Попробуем заменить Selection на конкретное имя ячейки Range("E10") или Cells(10,5), удалив первую строку этого макроса:

Range("E10").ClearContents

Range("E10").FormulaR1C1 = "Привет!"

With Range("E10").Font

    .Name = "Times New Roman"

    .Size = 16

    .ColorIndex = 3

End With

Range("E10").Interior.ColorIndex = 37

Все работает, результат тот же, только выделение отсутствует.

Присваивание

Для занесения значений в ячейки необходимо воспользоваться командой присваивания, варианты записи которой могут выглядеть следующим образом:

Range("F6").Value = 5 + Range("С4").Value

Range("D10").FormulaR1C1 = "Привет!"

Cells(5,8).Value = ”Стоп

Cells(i,12).Value = Min*2

Существуют и другие способы.

Очистить же содержимое ячейки можно, например, так: Range("B4").Value = ”” или иначе – Range("B4").ClearContents.

Задержка

Для создания анимации, соответствующей нормальному восприятию, приходится сдерживать высокоскоростные возможности современных процессоров. В Visual Basic мне, как ни прискорбно, не известно другого способа, кроме вставки пустого цикла. Жаль, что ресурсы процессора используются в это время так неэффективно, и здесь невольно вспоминается калитка Эдисона, при открывании которой гость закачивал в бак ведро воды.

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

Tik = 1000000 'задержка

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

For t = 1 To Tik: Next t

При необходимости замедлить или ускорить процесс в отдельных эпизодах макроса переменную Tik в цикле можно умножить или поделить на соответствующий коэффициент.

Скрытие элементов

Довольно часто встречаются ситуации, когда появляется необходимость скрыть некоторые объекты. В одних случаях это данные, в других – ячейки или таблицы, в третьих – графические элементы. В зависимости от ситуации можно воспользоваться одним из предлагаемых вариантов:

  • окраска в цвет фона;

  • удаление за пределы окна;

  • скрытие строк или столбцов (через меню Окно – Скрыть);

  • размещение на другом листе, который можно скрыть (Формат – Лист – Скрыть);

  • скрытие за объект;

  • прижатие к краю окна (отрезков);

  • растворение (прозрачность или Нет линий, Нет заливки);

  • масштабирование (уменьшение размеров).

На верх

 

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

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