Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KL_Informatika_i_KT_M1_M2.doc
Скачиваний:
17
Добавлен:
26.11.2018
Размер:
2.48 Mб
Скачать

Как выбрать программу - архиватор

Несмотря на то, что в наше время цена мегабайта дискового пространства уменьшается с каждым годом, а качество носителей информации растет, потребность в архивации и резервном копировании остается, а проблема все также актуальна, как и десять лет назад. Это определяется тем, что архивация и сжатие данных необходимы не только для экономии места на локальном дисковом носителе, но и для переноса информации, резервирования, резервного копирования и т.п. Поэтому, выбирая архиватор, необходимо руководствоваться его универсальностью и надежностью, но не забывать конечно и о главных параметрах - качество и скорость сжатия. Среди имеющихся в настоящий момент архиваторов многие являются специфичными к определенным форматам файлов, что несомненно следует использовать, но по назначению. Общий оценочный анализ показывает, что среди архиваторов с ratio <40% большинство имеет значительно более длительное время паковки, которое может быть настолько велико (отличаться в сотни раз) по сравнению с выигрышем в сжатии (на 7-10%), что целесообразность использования данных программ сомнительна даже на очень мощных персональных компьютерах, таких как Pentium II 330MHz. Угнетает и тот факт, что большинство систем сжатия по прежнему компонуются как выполнимые модули реального режима для ОС MS-DOS и все возможности защищенного режима не используются. Этот же относится и к интерфейсу программ, который в общем оставляет желать лучшего, т.к. командная строка, хоть и является достаточно универсальным средством взаимодействия пользователя с программами, однако, весьма плохо приспособлена для быстрого просмотра списков имен, множественного выбора из списков (например файлов в архиве), множественного помещения в список и т.п., т.е. для операций, наиболее часто встречающихся в процессе работы с архивами. Возражающим посоветую произвести такую операцию, замерив затраченное на нее время. Возьмите архив из ~500 файлов с различными расширениями и извлеките из него 20-30 файлов, причем имена которых определите во время просмотра содержимого архива. Выполните эту задачу при помощи командной строки и при помощи какого-нибудь оконного интерфейса. Такие и подобные операции пользователями интерфейсов командной строки обычно выполняются путем извлечения всех файлов из архива и удаления ненужных или переписывания необходимых в отдельный каталог, их архивация и удаление. Нет нужды говорить, что такая операция с применением оконного интерфейса и списков с возможностью множественного выбора элементов по маске производится гораздо быстрее и без затрат дополнительных дисковых ресурсов.

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

  • создание многотомных архивов с возможностью задания произвольного размера тома;

  • создание самораспаковывающихся - SFX-архивов;

  • создание многотомных SFX-архивов;

  • автоматическое удаление файлов после архивации;

  • архивирование каталогов и дисков полностью с сохранением атрибутов файлов;

  • помещение в архив авторских комментариев;

  • паролирование доступа к архиву;

  • поддержка защищенного режима (DPMI, VCPI), расширенной и расширяемой памяти;

  • внедрение в архив циклических кодов ошибок, позволяющих восстанавливать поврежденные архивы;

  • выдача подробной информации по окончанию процесса архивации и по требованию (коэффициент сжатия, приблизительное время сжатия/распаковки, размеры файлов и т.п.);

  • наличие справочной системы;

  • относительно малый размер модуля программы-архиватора.

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

Модуль 2. Інформаційні технології на платформі Windows

Змістовний модуль 1

Лекція 5 Електронні таблиці 2 год.

1. Роль та місце інформаційних технологій нам базі стандартних додатків MS Windows.

2. Електронні таблиці в складі інформаційних технологій.

3. Правила роботи з адресами ЕТ, виконання складних розрахунків, побудова діаграм та графіків, правила використання бібліотек вбудованих функцій.

4. Можливості імітаційного моделювання за допомогою ЕТ. Способи розширення можливостей ЕТ (бібліотеки Add-ins)

Рекомендована література: 23-32,

ТАБЛИЧНый ПРОЦЕССОР

Электронная таблица — компьютерный эквивалент обычной таблицы, в клетках (ячейках) которой записаны данные различных типов: тексты, даты, формулы, числа.

Результат вычисления формулы в клетке является изображением этой клетки. Числовые данные и даты могут рассматриваться как частный случай формул. Для управления электронной таблицей используется специальный комплекс программ — табличный процессор.

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

Создание электронных таблиц Microsoft Excel

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

Основные понятия электронных таблиц

Документ Excel называется рабочей книгой. Рабочая книга представляет собой набор рабочих листов, каждый из которых имеет табличную структуру и может содержать одну или несколько таблиц. В окне документа в программе Excel отображается только текущий рабочий лист, с которым и ведется работа. Каждый рабочий лист имеет название, которое отображается на ярлычке листа, отображаемом в его нижней части. С помощью ярлычков можно переключаться к другим рабочим листам, входящим в ту же самую рабочую книгу. Чтобы переименовать рабочий лист, надо дважды щелкнуть на его ярлычке.

Рабочий лист состоит из строк и столбцов. Столбцы озаглавлены прописными латинскими буквами и, далее, двухбуквенными комбинациями. Всего рабочий лист может содержать до 256 столбцов, пронумерованных от А до IV. Строки последовательно нумеруются цифрами, от 1 до 65 536 (максимально допустимый номер строки). Ячейки и их адресация. На пересечении столбцов и строк образуются ячейки таблицы. Они являются минимальными элементами для хранения данных. Обозначение отдельной ячейки сочетает в себе номера столбца и строки (в этом порядке), на пересечении которых она расположена, например: А1 или DE234. Обозначение ячейки (ее номер) выполняет функции ее адреса. Адреса ячеек используются при записи формул, определяющих взаимосвязь между значениями, расположенными в разных ячейках.

Строки, столбцы, ячейки и их адреса

Рабочая область электронной таблицы состоит из строк и столбцов, имеющих свои имена. Имена строк — это их номера. Нумерация строк начинается с 1 и заканчивается максимальным числом, установленным для данной программы. Имена столбцов — это буквы латинского алфавита сначала от А до Z, затем от АА до АZ, ВА до BZ и т. д.

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

Пересечение строки и столбца образует ячейку таблицы, имеющую свой уникальный адрес. Для указания адресов ячеек в формулах используются ссылки (например, А2 или С4).

Ячейка — область, определяемая пересечением столбца и строки электронной таблицы.

Адрес ячейки определяется названием (номером) столбца и номером строки.

Ссылка — способ (формат) указания адреса ячейки.

Указание блока ячеек

В электронной таблице существует понятие блока (диапазона) ячеек, также имеющего свой уникальный адрес. В качестве блока ячеек может рассматриваться строка или часть строки, столбец или часть столбца, а также прямоугольник, состоящий из нескольких строк и столбцов или их частей. Адрес блока ячеек задается указанием ссылок первой и последней его ячеек, между которыми, например, ставится разделительный символ — двоеточие <:> или две точки подряд <..>.

Каждая команда электронной таблицы требует указания блока (диапазона) ячеек, в отношении которых она должна быть выполнена.

Блок используемых ячеек может быть указан двумя путями: либо непосредственным набором с клавиатуры начального и конечного адресов ячеек, формирующих диапазон, либо выделением соответствующей части таблицы при помощи клавиш управления курсором. Удобнее задавать диапазон выделением ячеек.

Типичными установками, принимаемыми по умолчанию на уровне всех ячеек таблицы, являются: ширина ячейки в 9 разрядов, левое выравнивание для символьных данных и основной формат для цифровых данных с выравниванием вправо.

Блок ячеек — группа последовательных ячеек.

Блок ячеек может состоять из одной ячейки, строки (или ее части), столбца (или его части), а также последовательности строк или столбцов (или их частей).

Типовая структура интерфейса

П ри работе с электронной таблицей на экран выводятся рабочее поле таблицы и панель управления. Панель управления обычно включает: Главное меню, вспомогательную, область. управления, строку ввода и .строку подсказки. Расположение, этих областей на экране может быть произвольным и зависит от особенностей конкретного табличного процессора.

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

Вспомогательная область управления включает:

  • строку состояния;

  • панели инструментов;

  • вертикальную и горизонтальную линейки прокрутки.

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

Строка ввода отображает вводимые в ячейку данные. В ней пользователь может просматривать или редактировать содержимое текущей ячейки. Особенность строки ввода — возможность видеть содержащуюся в текущей ячейке формулу или функцию, • — ее результат. Строку ввода удобно использовать для просмотра или редактирования текстовых данных.

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

Приведенная структура интерфейса является типичной для табличных процессоров предназначенных для работы в среде Windows. В табличных процессорах, работающих в DOS, чаще всего отсутствуют командные кнопки панелей инструментов и линейки прокрутки.

Рабочее поле — пространство электронной таблицы, состоящее из ячеек, названий столбцов и строк.

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

Текущая ячейка и экран

Текущей (активной) называется ячейка электронной таблицы, в которой в данный момент находится курсор.

Адрес и содержимое текущей ячейки выводятся в строке ввода электронной таблицы. Перемещение курсора, как по строке ввода, так и по экрану осуществляется при помощи клавиш движения курсора.

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

Окно, рабочая книга, лист

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

Рабочая книга представляет собой документ, содержащий несколько листов, в которые могут входить таблицы, диаграммы или макросы. Вы можете создать книгу для совместного хранения в памяти интересующих вас листов и указать, какое количество листов она должна содержать. Все листы рабочей книги сохраняются в одном файле. Заметим, что термин "рабочая книга" не является стандартным. Так, например, табличный процессор Framework вместо него использует понятие Frame (рамка).

Данные, хранимые в ячейках электронной таблицы

Типы входных данных

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

  • Символьные (текстовые) данные имеют описательный характер. Они могут включать в себя алфавитные, числовые и специальные символы. В качестве их первого символа часто используется апостроф, а иногда — кавычки или пробел.

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

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

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

  • Даты. Особым типом входных данных являются даты. Этот тип данных обеспечивает выполнение таких функций, как добавление к дате числа (пересчет даты вперед и назад) или вычисление разности двух дат (длительности периода). Даты имеют внутренний (например, дата может выражаться количеством дней от начала 1900 года или порядковым номером дня по Юлианскому календарю) и внешний формат. Внешний формат используется для ввода и отображения дат.

Форматирование числовых данных в ячейках

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

  • Основной формат используется по умолчанию, обеспечивая запись числовых данных в ячейках, в том же виде, в котором они вводятся или вычисляются.

  • Формат с фиксированным количеством десятичных знаков обеспечивает представление чисел в ячейках с заданной точностью, определяемой установленным пользователем количеством десятичных знаков после запятой (десятичной точки). Например, если установлен режим форматирования, включающий два десятичных знака, то вводимое в ячейку число 12345 будет записано как 12345.00, а число 0.12345 — как 0.12.

  • Процентный формат обеспечивает представление введенных данных в форме процентов со знаком % (в соответствии с установленным количеством десятичных знаков). Например, если установлена точность в один десятичный знак, то при вводе 0.123 на экране появится 12.3%, а при вводе 123 — 12300.0%.

  • Денежный формат обеспечивает такое представление чисел, где каждые три разряда разделены запятой. При этом пользователем может быть установлена определенная точность представления (с округлением до целого числа или в два десятичных знака). Например, введенное число 12345 будет записано в ячейке как 12,345 (с округлением до целого числа) и 12,345.00 (с точностью до двух десятичных знаков).

  • Hayчный формат, используемый для представления очень больших или очень маленьких чисел, обеспечивает представление вводимых чисел в виде двух компонентов:

— мантиссы, имеющей один десятичный разряд слева от десятичной точки, и некоторого (определяемого точностью, заданной пользователем) количества десятичных знаков справа от нее;

— порядка числа.

Форматирование символьных данных в ячейках

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

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

  • Выравнивание по правому краю ячейки располагает последний символ вводимых в ячейку данных в ее крайней правой позиции.

  • Выравнивание по центру ячейки располагает вводимые данные по центру ячейки.

Форматирование данных — выбор формы представления числовых или символьных данных в ячейке.

Изменение ширины колонки

Отображение числовых данных зависит не только от выбранного формата, но также и от ширины колонки (ячейки), в которой эти данные располагаются. Ширина колонки при текстовом режиме экрана устанавливается в знаках, а при графическом режиме экрана — в независимых единицах. Количество знаков в ячейке зависит от ее ширины, кегля, гарнитуры, а также от конкретного текста. Так, например, не составляет проблемы расположить число 12345 в формате с запятой без дробной части в ячейке шириной в 9 знаков. Однако вы не сможете его расположить в этой же ячейке в денежном формате с двумя десятичными знаками, поскольку число $12,345.00 занимает 10 разрядов, превышая тем самым ширину ячейки. В данном случае необходимо изменить используемый формат представления числа либо увеличить ширину колонки.

Формулы

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

Формула начинается со знака равно и представляет собой совокупность математических операторов, чисел, ссылок и функций.

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

Формулы состоят из операторов и операндов, расположенных в определенном порядке. В качестве операндов используются данные, а также ссылки отдельных ячеек или блоков ячеек. Операторы в формулах обозначают действия, проводимые с операндами. В зависимости от используемых операторов различают арифметические (алгебраические) и логические формулы.

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

+ сложение,

- вычитание,

* умножение,

/ деление,

^ возведение в степень.

Каждая формула в электронной таблице содержит несколько арифметических действий с ее компонентами. Установлена последовательность выполнения арифметических операций. Сначала выполняется возведение в степень, затем — умножение и деление и только после этого — вычитание и сложение. Если вы выбираете между операциями одного уровня (например, между умножением и делением), то следует выполнять их слева направо. Нормальный порядок выполнения операций изменяют введением скобок. Операции в скобках выполняются первыми.

Арифметические формулы могут также содержать операторы сравнения: равно (=), не равно (<>), больше (>), меньше (<), не более (<=), не менее (>=). Результатом вычисления арифметической формулы является число.

Логические формулы могут содержать указанные операторы сравнения, а также специальные логические операторы:

#NOT# — логическое отрицание "НЕ",

#AND# — логическое "И",

#OR# — логическое "ИЛИ".

Логические формулы определяют, выражение истинно или ложно. Истинным выражениям присваивается численная величина 1, а ложным — 0. Та; образом, вычисление логической формулы заканчивается получением оценки "Истинно" (1) или "Ложно" (0).

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

Функции

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

  • математические;

  • статистические;

  • текстовые;

  • логические;

  • финансовые;

  • функции даты и времени и др.

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

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

Текстовые функции выполняют операции над текстовыми строками или последовательностью символов, вычисляя длину строки, преобразовывая заглавные буквы в строчные и т.п.

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

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

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

АВТОМАТИЧЕСКОЕ ИЗМЕНЕНИЕ ОТНОСИТЕЛЬНЫХ ССЫЛОК ПРИ КОПИРОВАНИИ И ПЕРЕМЕЩЕНИИ ФОРМУЛ

Относительная и абсолютная адресация

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

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

Для указания абсолютной адресации вводится символ $. Различают два типа абсолютной ссылки: полная и частичная,

  • Полная абсолютная ссылка указывается, если при копировании или перемещении адрес клетки, содержащий исходные данные, не меняется. Для этого символ $ ставится перед наименованием столбца и номером строки.

Пример 9. $В$5; $D$12 — полные абсолютные ссылки.

  • Частичная абсолютная ссылка указывается, если при копировании и перемещении не меняется номер строки или наименование столбца. При этом символ $ в первом случае ставится перед номером строки, а во втором — перед наименованием столбца.

Пример 10. B$5, D$12 — частичная абсолютная ссылка, не меняется номер строки; $В5, $D12 — частичная абсолютная ссылка, не меняется наименование столбца.

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

Форма написания относительной ссылки совпадает с обычной записью.

Правило относительной ориентации клетки

Формула, где в качестве операндов используются ссылки ячеек, воспринимается системой как шаблон, а ссылки ячеек в таком шаблоне — как средство указания на местоположение ячеек с операндами относительно ячейки с формулой.

Рассмотрим правило относительной ориентации клетки на примере.

П ример 11. Клетка со ссылкой С2 содержит формулу-шаблон сложения двух чисел, находящихся в ячейках А1 и В4. Эти ссылки являются относительными и отражают ситуацию взаимного расположения исходных данных в ячейках А1 и В4 и результата вычисления по формуле в ячейке С2. По правилу относительной ориентации клеток ссылки исходных данных воспринимаются системой не сами по себе, а так, как они расположены относительно клетки С2:

  • ссылка А1 указывает на клетку, которая смещена относительно клетки С2 на одну клетку вверх и на две клетки влево;

  • ссылка В4 указывает на клетку, которая смещена относительно клетки С2 на две клетки вниз и одну клетку влево.

Копирование формул

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

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

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

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

Перемещение формул

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

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

Функциональные возможности табличных процессоров

Характеристика режимов и команд

Режимы работы табличного процессора

Табличный процессор может иметь несколько режимов работы, наиболее важные из них режим готовности, режим ввода данных, командный режим, режим редактирования.

Режим готовности —режим, в котором происходит выбор ячейки или блока ячеек для корректировки или выполнения какой-либо операции. В этом режиме текстового курсора нет, а есть выделение активной ячейки цветом (подсвечивание),

Режим ввода данных. Как только вы начали вводить данные в определенную ячейку, вы автоматически покидаете режим готовности и входите в режим ввода данных. Этот режим может также инициироваться специальной комбинацией «горячих» клавиш. Закончив ввод данных в ячейку, вы покидаете режим ввода, и ищите новую ячейку в режиме готовности. Такая последовательная смена режимов происходит при работе с электронной таблицей многократно до тех пор, пока вы не закончите ввод данных во все нужные Вам ячейки.

Работа в режиме ввода сконцентрирована на выборе определенных ячеек. Однако рано или поздно вам потребуется сохранить введенные данные, отсортировать, распечатать или произвести другие действия. В этом случае объектом ваших действий будет уже не одна ячейка, а некоторая их совокупность или вся таблица. Вам потребуется перейти в командный режим.

Командный режим. Наиболее распространенным способом перехода из режима готовности в командный режим является нажатие клавиши Alt, </> (слеш) или <F10>. После этого пользователю предоставляется возможность мышью или комбинацией клавиш выбрать и выполнить нужную ему команду (пункт) главного меню. После выполнения команды происходит возврат к режиму готовности.

Примечание. Пункты главного меню часто называют режимами главного меню, командами, иногда именами вызываемых меню.

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

Основные группы команд

Табличный процессор располагает большим количеством команд, каждая из которых имеет различные параметры (опции). Команды совместно с дополнительными опциями образуют систему иерархического меню, которая у каждого типа табличных процессоров имеет свои особенности. На верхнем уровне иерархического меню находится главное меню. Выбор команды из меню производится одним из двух способов:

  • при помощи клавиш управления курсором с нажатием клавиши ввода;

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

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

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

  • команды для работы с файлами;

  • команды редактирования;

  • команды форматирования;

  • команды для работы с окнами;

  • команды для работы с электронной таблицей как с базой данных;

  • печать;

  • сервис;

  • получение справочной информации;

  • использование графики.

Команды для работы с файлами

Чтобы созданный документ использовать в дальнейшей работе с электронной таблицей, его нужно сохранить, записав в файл. При работе с файлами программа позволяет сохранять и загружать файлы в окна электронной таблицы. Каждый файл при этом открывается в отдельном окне. Специальные команды дают возможность пользователю открывать и закрывать определенные окна. При запуске программы, как правило, открывается новое, пустое окно.

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

Команды редактирования

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

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

Среди команд редактирования особое место занимают команды поиска и замены определенного контекста в рамках всего документа или выделенной его части, а также отмена последних введенных команд (откатка).

Команды форматирования

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

Выбор формата и направления выравнивания производится автоматически в зависимости от характера вводимых данных. Данные, интерпретируемые программой как текст, выравниваются по левому краю, а числа — по правому. Автоматический выбор формата и способа выравнивания производится только в том случае, если для заполняемых ячеек пользователем предварительно не заданы другие параметры.

Многие табличные процессоры позволяют скрыть отдельные столбцы или строки таблицы.

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

Команды для работы с окнами

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

Команды для работы с электронной таблицей как с базой данных

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

Для поиска определенных строк таблицы пользователь задает критерий поиска. Критерий поиска определяет точное значение определенного поля или полей или указывает некоторый диапазон, в котором эти значения находятся. Для построения сложных критериев, сочетающих в себе требования, предъявляемые к нескольким полям, используются логические операторы "ИЛИ" и "И"; Задание сложных критериев ограничивает область поиска.

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

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

Печать

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

Команда просмотра страницы позволяет получить представление о ее общем виде еще до печати. Размещение информации на странице может быть оптимально приспособлено к ее выбранным параметрам посредством масштабирования и центрирования.

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

Макросы. Макрос, как известно, — записанная последовательность команд или действий пользователя на клавиатуре. Табличные процессоры позволяют создавать собственные макросы и тем самым автоматизировать часто повторяющиеся рабочие операции. Для записи макроса используются специальные языки макропрограммирования. Так, в электронной таблице Excel используется язык Visual Basic. Макросы, написанные на этом языке, сохраняются и обрабатываются на отдельных листах в рабочей книге. Наиболее простой способ создания макроса — применение макрорекордера, содержащегося в некоторых электронных таблицах; он преобразует последовательность выбираемых пользователем действий на клавиатуре в код языка макропрограммирования. Однако использование макрорекордера имеет свои ограничения. Так, если пользователь создает программу, содержащую циклы, точки ветвления и другие сложные элементы программирования, ему придется самому написать (и отладить) программу на языке, встроенном в среду табличного процессора. Существуют специальные команды для записи, проигрывания и отладки макросов.

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

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

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

Использование математических инструментов. Потребности пользователя электронных таблиц часто не ограничиваются только решением поставленной задачи. Пользователь зачастую заинтересован в дополнительной информации и ее исследовании (моделировании). Моделирование в электронной таблице связано с решением целого ряда общих задач, таких, как "Что будет, если?", "Как сделать, чтобы?". анализ чувствительности, оптимизация и др. Иногда используются специальные методы исследования. В их числе регрессионный и дисперсионный анализ, обращение матриц, использование специальных функций. Многие математические инструменты предоставляются пользователю электронной таблицей.

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

Модуль 1

Змістовний модуль 1

Лекція 6 Макропрограмування в середовищі ЕТ - 4 год.

1. Необхідність макропрограмування при розробці офісної документації та при роботі з застосуванням сучасних інформаційних технологій

2. Правила побудови макрозасобів, відносна та абсолютна адресація.

3. Правила редагування та модифікації макрозасобів.

4. Мова VBA, головні оператори мови VBA , способи модифікації макросів.

5. Практична робота по створенню та модифікації макрозасобів

Рекомендована література: 23 -32, 34, 35, 39

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

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

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

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

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

  2. Определение последовательности команд (нажатий клавиш или выполненных действий с помощью мыши), обеспечивающей достижение поставленной Вами цели;

  3. Присвоение имени созданному макросу.

  4. Ввод необходимой последовательности команд;

Для записи макроса используются специальные языки макропрограммирования. В электронной таблице Excel используется язык Visual Basic. Макросы, написанные на этом языке, сохраняются и обрабатываются на отдельных листах в рабочей книге. Наиболее простой способ создания макроса — применение макрорекордера, он преобразует последовательность выбираемых пользователем действий на клавиатуре в код языка макропрограммирования.

Visual Basic for Application

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

Visual Basic for Application – развитая система визуального программирования для создания прикладных программ в среде Microsoft Office. С помощью VBA можно изменить внешний вид или способ применения имеющихся средств приложения, добавить новые возможности, создавать объекты управления графического интерфейса пользователя, задавать и изменять свойства объектов, подключать к ним соответствующий программный код.

Методика программирования с использованием средств VBA сводится к следующему:

  • Использование объектов управления и контроля (диалоговые окна, пиктограммы, меню …);

  • Разработка процедур, выполняемых при воздействии на объекты или возникновении определенных событий.

VBA позволяет выполнить любую модификацию приложения, но, в отличие от большинства других языков программирования, VBA не даёт возможность создавать независимые, автономно выполняемые программы. Только находясь в рамках приложения Microsoft Office, можно запустить из него VBA программу, созданную для этого приложения. Поддержка VBA должна быть встроенной в то приложение, которое нужно модифицировать. Запустить VBA-программу двойным щелчком из окна Мой компьютер невозможно.

Чтобы создать программу на каком-либо языке программирования, нужно самому набирать все инструкции программы – программный код, используя терминологию этого языка. В VBA не нужно вручную набирать команды, определяющие интерфейс вашей программы. Написание программного кода сведено к минимуму. В одних случаях можно записать команды, которые выполняются в приложении, и использовать их в качестве отправной точки при создании новой программы (запись макроса). В других случаях VBA позволяет создавать части программы, которые отвечают за появляющиеся на экране объекты (диалоговые окна, кнопки, флажки, переключатели и т.п.), простым рисованием их с помощью мыши или выбором опций из диалоговых окон.

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

Все создаваемые программные компоненты документа объединяются в одно целое, называемое «проектом».

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

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

Объекты, их свойства и методы

Объекты, свойства, методы и события VBA

VBA является объектно-ориентированной средой, содержащей большой набор объектов, каждый из которых обладает множеством свойств и методов. Сам объект и всё, что нужно для выполнения над ним каких-либо действий (например, создание, отображение или удаление), содержится в определенном классе. Имя класса указывает на тип объектов, которые он содержит. Классы можно рассматривать как основу для создания других объектов этого же типа. Поэтому все объекты одного класса будут «действовать» одинаково.

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

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

Объекты

При объектно-ориентированном программировании практически все компоненты компьютерной системы являются объектами. В Excel VBA объектом считается каждый элемент приложения – ячейка, лист, рабочая книга, диаграмма, экранная форма, графические элементы внутри форм, в т.ч. текстовые окна, линейки прокрутки, пиктограммы, окна-списки, командные кнопки и др. Фактически объектом является само приложение Excel. Объекты могут включать области ячеек, рамки ячеек, окна, сценарии, стили и т.д. каждый класс объектов имеет свое множество свойств, функций и событий.

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

Объект – это поименованный элемент управления и контроля, имеющий свойства, методы и события, связанные с объектом.

Свойство –атрибут объекта управления, описывающий, как объект выглядит и как он действует;

Метод – действие, которые может выполнить объект;

Событие – действие, которое распознаётся объектом управления (например, щелчок мышью, перемещение курсора).

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

Примеры свойств рабочей книги Excel

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

Объекты Excel обладают уникальным набором свойств, описывающих их, и методов, определяющих их действия или действия над ними. Когда создаётся объект, Excel выполняет процедуру создания экземпляра этого объекта. Данная процедура, хранимая в классе объектов, присваивает значения всем свойствам, что позволяет пользователю сразу же работать с объектом. Рассмотрим в качестве примера некоторые свойства объекта Workbook (рабочая книга).

Author

Имя человека, создавшего рабочую книгу

Creator

Числовой код, означающий приложение (Excel), с помощью которого была создана рабочая книга

HasPassword

True, если рабочая книга защищена паролем, и False — в противном случае

Name

Название рабочей книги

Count

Число рабочих книг (число компонентов в наборе)

Path

Путь к файлу книги на диске

ReadOnly

True, если сохранение рабочей книги запрещено, и False — в противном случае

По мере знакомства со свойствами рабочей книги мы узнаем и несколько важных правил. Во-первых, со всеми свойствами связаны значения — строковые (например, имя рабочей книги), логические (например, свойство HasPassword), численные или другие. Во-вторых, свойство может принадлежать одному или нескольким различным объектам. Например, в Excel свойство HasPassword есть только у объекта Workbook, а вот свойство Name практически у всех объектов Excel, и это естественно, поскольку большинству реальных объектов присвоены имена.

Свойства: присвоение и использование значений

Работая с языком VBA, Вы можете выполнять над свойством две операции: задать его значение или использовать его.

И в том, и в другом случае Вам придется указать имя объекта и имя свойства, разделив их точкой. Для определения значения свойства используется знак равенства (=). Например, инструкция для задания значения свойству Author рабочей книги КНИГА1.XLS выглядит в языке VBA так:

Workbooks("КНИГА1").Author = "Иван Иванов" 'инструкция для задания значения свойству Author рабочей книги

Структура этой строки такова: Имя объекта Workbooks("КНИГА1") Точка . Имя свойства Author Знак равенства = Значение свойства "Иван Иванов"

Лист1.Name = «счета» ‘изменение значения свойства Name объекта Лист1

При программировании на языке VBA надо включать в инструкции все эти элементы. Обращение к рабочей книге здесь оформлено с помощью указателя на объект семейства (collection) Workbooks.

Примечание. Чтобы превратить эту инструкцию в подпрограмму языка VBA, устанавливающую свойство Author объекта Workbook, перед ней нужно вставить строку со словом Sub и названием подпрограммы, а после нее - строку со словами End Sub, как показано в примере.

Sub SetAuthorName()

Workbooks("КНИГА1").Author = "Иван Иванов"

End Sub

Для использования значения свойства применяют ту же конструкцию VВA, что и для присвоения, но ее элементы располагают в обратном порядке. Чтобы «извлечь» значение свойства, его обычно присваивают какой-либо переменной. В строке программы, приведенной ниже, значение свойства Author объекта Workbook присваивается строковой переменной AuthorName.

Структура этой команды такова:

AuthorName = Workbooks("КНИГА1").Author ‘значение свойства Author ‘объекта Workbook присваивается строковой переменной AuthorName

Переменная AuthorName Знак равенства = Имя объекта Workbooks("КНИГА1") Точка . Имя свойства Author

Методы

Метод – действие, которое может выполнить объект или которое может быть выполнено над объектом. Объект Workbook содержит множество методов, определяющих действия, совершаемые им или над ним. Ниже приведены некоторые из них

Activate

Активизация первого окна, связанного с книгой

Close

Закрытие книги

PrintPreview

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

Protect

Защита книги паролем

Save

Сохранение книги

Unprotect

Отмена защиты книги

Add

Добавление компонентов набора

Delete

Удаление компонентов набора

Синтаксис команды VBA для вызова метода отличается от синтаксиса команды присвоения значения свойству. Все, что нужно в этом случае, — это указать объект и метод. Кроме того, в большинстве методов Excel используются аргументы и параметры, – дополнительные данные для управления способом выполнения метода. Некоторые из аргументов не обязательные, то есть используются по необходимости. Вы можете указывать все, некоторые или ни одного из них.

Workbooks("КНИГА1").Close ‘вызов метода Close без передачи аргументов

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

Лист1.Protect ‘вызов метода Protect для защиты объекта Лист1 от внесения изменений

Список свойств и методов

Чтобы сделать что-либо с VBA-объектом, обычно меняют одно из его свойств или вызывают один из его методов. Достаточно напечатать имя объекта и точку, как на экране появится небольшое окно со списком всех присущих этому объекту свойств и методов. Чтобы найти подходящее свойство или метод, прокрутите список или напечатайте первые буквы имени, нажмите клавишу ТАВ – это имя вставится в программный код.

Вызов метода

Синтаксис команды VBA для вызова метода отличается от синтаксиса команды присвоения значения свойству. Все, что нужно в этом случае, — это указать объект и метод. Кроме того, в большинстве методов Excel используются аргументы и параметры – дополнительные данные для управления способом выполнения метода. Некоторые из аргументов не обязательные, то есть используются по необходимости. Вы можете указывать все, некоторые или ни одного из них. Например, метод Close объекта Workbook имеет три необязательных аргумента:

SaveСhanges

Принимает значения True (сохранить изменения в файле) или False (не сохранять изменения)

FileName

Имя файла для сохранения книги, если предыдущий аргумент имеет значение True

RouteWorkbook

Принимает значения True (отправить книгу по маршруту) или False (не отправлять книгу)

Передача аргумента в метод

Ниже приведен пример вызова метода Close без передачи аргументов:

Workbooks("КНИГА1").Close

Если Вы вызываете метод Close без аргументов, им присваиваются значения по умолчанию. Например, при отсутствии первого аргумента (saveChanges) eму будет присвоено значение True.

Аргумент FileName по умолчанию содержит текущее имя файла, а аргумент routeWorkbook — значение False. Ниже Вы видите пример вызова метола Close со всеми тремя аргументами

Workbooks("КНИГА1").Close True, "MYBOOK.XLS", False

При передаче аргументов Вы просто добавляете их к вызову метода, разделяя запятыми Обязательно соблюдайте порядок следования аргументов Для метода Close, например, правильный порядок таков: saveChanges, fileName, routeWorkbook. Имейте также в виду, что существуют два способа передачи аргументов в метод -- по имени и по позиции. В предыдущем примере использован второй способ.

Передача аргумента по имени

При передаче аргумента по имени надо указать в вызове три элемента: имя аргумента (например, saveChanges), оператор присваивания с двоеточием (:=) и значение аргумента. В следующем примере метод Close вызывается с аргументами, передаваемыми по имени

Workbooks("КНИГА1").Close saveChanges :=True, _

fileName := "MYBOOK.XLS", routeWorkbook := False

Примечание. В VBA символ подчеркивания (_), помещенный в конце строки, означает, что инструкция продолжается на следующей строке. Перед символом подчеркивания необходимо ввести пробел. Одна строка кода может включать до 1024 символов, но лучше не делать их такими длинными, так как весьма вероятно, что код станет нечитаемым. В приводимых листингах программ разрываются строки, чтобы уместить их на странице.

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

Workbooks("КНИГА1").Close routeWorkbook := False, _

saveChanges := True, fileName := "MYBOOK.XLS"

Если Вы хотите передать в метод Close только первый аргумент saveChanges, можно использовать передачу по позиции

Workbooks("КНИГА1").Close True

или передачу по имени

Workbooks("КНИГА1").Close saveChanges := True

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

Workbooks("КНИГА1").Close True, , False

или передайте их же по имени

Workbooks("КНИГА1").Close saveChanges := True, routeWorkbook := False

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

События

Каждый раз, когда пользователь взаимодействует с определенным объектом в рабочем листе, совершается событие. Например, щелчком мыши по определенной кнопке вы выполняете процедуру события и изменяете ход выполнения программы. Каждый класс объектов имеет собственную группу событий, на которые объекты этого класса реагируют. Так, рабочая книга имеет событие NewSheet, которое выполняется каждый раз, когда пользователь добавляет в неё новый лист. Событие Selection Change происходит каждый раз при выборе пользователем другой ячейки или области ячеек. Excel снабжает каждую процедуру события первой и последней строкой (как скелетом). При желании можно написать программу для события, на который должны реагировать объекты.

Обращение к объекту

Ссылки: одиночные объекты и семейства

Как Вы, наверное, уже поняли, при обращении к свойству или методу объекта их имена просто добавляют к имени объекта, отделяя от него точкой. Ссылка же на сам объект может выглядеть по-разному. К одиночному объекту обращаются либо по имени, либо по его номеру в семействе объектов. Чтобы разобраться, чем отличаются два этих способа. Вы должны понять, что такое семейство. Если не вдаваться в детали, семейство — это группа похожих объектов. Все объекты Excel можно отнести к одному из двух приблизительно равных по численности классов: одиночным объектам и объектам из семейства. К первым обращаются по именам, ко вторым — по номеру.

Ссылка на объект

Мы уже говорили о том, что на одиночный объект ссылаются по его имени, а к объекту в семействе обращаются по его номеру. Рассмотрим сначала ссылку на одиночный объект. Ниже перечислены свойства одиночного объекта Application.

Caption Строка, отображаемая в строке заголовка приложения

DisplayAlerts Управляет выводом на экран предупреждений Excel во время исполнения программ (True или False)

ScreenUpdating Управляет обновлением экрана во время исполнения программ (True или False)

Чтобы задать свойство Caption, обращайтесь непосредственно к объекту Application.

Application.Caption = "Мое приложение"

Чтобы запретить обновление экрана во время выполнения программы, задайте для свойства ScreenUpdating значение False, вновь обратившись непосредственно к объекту Application.

Application.ScreenUpdating = False

Теперь попробуем обратиться к объекту семейства, ссылка на рабочий лист - объект семейства Worksheets - должна включать номер этого листа в семействе. Зададим свойство Name первого листа в рабочей книге.

Worksheets(1).Name = "Мой первый рабочий лист"

Следующая инструкция присваивает имя третьему рабочему листу.

Worksheets(3).Name = "Мой третий рабочий лист"

Примечание Обращаясь к объекту семейства Worksheets, обязательно используйте в имени семейства множественное число. Это правило выполняется для всех семейств Excel, кроме Range и SeriesCollection.

Обращение к объекту семейства по номеру и по имени

Объект можно выбрать из семейства по его номеру, как показано в предыдущих примерах, иди по имени. При программировании на языке VBA возможны ситуации, когда использование одного иди другого способа предпочтительнее. Например, при перечислении всех элементов семейства к ним удобнее обращаться по номерам. Если же Вам нужен конкретный элемент (например, рабочий лист Итоги), к нему легче обратиться по названию, а не определять его номер в семействе.

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

Примечание. В отличие от нумерации в массивах, которая может начинаться с нуля, единицы или любого другого числа, объекты в семействах всегда нумеруются с единицы.

Если Вы не знаете номера объекта, обратитесь к нему по имени. Оно есть у каждого рабочего листа в книге и отображается на ярлычке в нижней части окна Excel. Допустим, Вы хотите задать свойство Visible рабочего листа Мой рабочий лист. Оно может принимать значения True и False. В первом случае рабочий лист отображается на экране, во втором — нет. Проблема в том, что Вы не имеете ни малейшего представления о его номере в семействе. Тогда обратитесь к нему по имени.

Worksheets("Мой рабочий лист").Visible = False

Примечание. При обращении к объекту семейства его имя заключается в двойные кавычки и круглые скобки. Регистр символов значения не имеет. Например, равнозначны обращения Worksheets("MОЙ РАБОЧИЙ ЛИСТ") и Worksheets("мой рабочий лист").

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

Worksheets("Moй рабочий лист").Name = "Новое название листа" Worksheets("Мой рабочий лист").Visible = False

В первой строке имя листа изменено с «Мой рабочий лист» на «Новое название листа». Когда после этого VBA пытается найти в семействе Worksheets объект с именем «Мой рабочий лист», ему это не удается.

Рассмотрим другие примеры обращения к элементу семейства по имени. У объекта Chart есть свойство HasLegend, которое может принимать значения True или False. В первом случае на диаграмму помещается легенда, во втором — нет. Объект Chart входит в семейство. Поэтому, если Вы хотите поместить легенду на диаграмму Диаграмма1, обратитесь к диаграмме по имени:

Charts("Диаграмма1").HasLegend = True

Эта команда сработает только для диаграммы на отдельном листе. Для внедренной диаграммы она выглядит иначе.

Предположим, что одно из Ваших приложений открывает и закрывает несколько рабочих книг, имя одной из которых КНИГА2.ХLS. Объект Workbook входит в семейство, поэтому закрыть книгу КНИГА2.ХLS можно следующей инструкцией:

Workbooks("KНИГA2.XLS").Close

Прямое обращение к объекту

В Excel можно непосредственно обращаться к объекту, не указывая семейство. Для этого воспользуйтесь новым свойством — CodeName, значение которому присваивается только при разработке программы.

Исключение: объект Range

Мы только что рассмотрели различия в обращении к одиночным объектам и объектам в семействах, а также познакомились с двумя способами обращения к объектам семейств — по номеру или по имени. Один из объектов Excel — Range, определяющий ссылку на ячейку или группу ячеек рабочего листа Excel, — не попадает ни в одну из этих категорий. Это одиночный объект, обладающий тем не менее некоторыми свойствами семейства. Например, чтобы обратиться к конкретному диапазону ячеек, надо указать его адрес или имя, как в случае объекта из семейства.

Предположим, что Вы хотите изменить содержимое одной из ячеек. У объекта Range есть свойство Value, соответствующее содержимому ячейки или группы ячеек. Кроме того, каждой ячейке соответствует адрес, состоящий из буквы столбца, указанной вверху листа по горизонтали и номера строки — слева по вертикали. Например, адрес первой ячейки — А1. Чтобы задать ее содержимое, укажите этот адрес в обращении к объекту Range, как показано в примере.

Range("A1").Value = 1

Диапазонам можно присваивать имена и затем использовать их для обращения к ячейке или к их группе. В первой строке примера кода, приведенного ниже, свойству ячейки Name присваивается значение, которое во второй строке используется для изменения значения в ячейке. Обратите внимание, что на этот раз к объекту Range обращаются по имени.

Range("A1").Name = "Первая_ячейка" Range("Первая_ячейка").Value = 1

Примечание. К именованной ячейке можно обращаться и по адресу. Если во второй строке кода, приведенного выше. Вы вместо имени поставите А1, инструкция будет выполнена правильно. Помните, однако, что нельзя обращаться к объекту Range по номеру. Вот какая инструкция, например, вызовет сообщение об ошибке:

Range(1).Value = 1

Задавая свойство или вызывая метод объекта Range, можно использовать диапазон состоящий из нескольких ячеек. Для задания свойства Value ячеек из интервала адресов A1:F20 применяется следующая инструкция:

Range("A1:F20").Value = 1

Иерархия объектов Excel

Не все сто с лишним объектов Excel расположены на одном уровне. Некоторые из них включены в другие объекты. Уровни удобно представлять в виде иерархической структуры.

Схема иерархии объектов Excel, которую вы можете увидеть, вызвав справочную систему, поможет Вам узнать об их происхождении: Справка  Содержание  Microsoft Excel Objects

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

Иерархическая структура

Верхняя ступень иерархии Excel занята единственным объектом — Application. Он представляет само приложение Excel и располагается надо всеми остальными объектами.

На второй ступени находятся пятнадцать объектов.

AddIn

Файл надстройки Excel

Assistant

Используется для управления Помощником по Office (Office Assistant). Общий для всех приложений Office

AutoCorrect

Открывает доступ к функции Excel Автозамена (AutoCorrect)

CommandBar

Представляет меню и панели инструментов. Общий для всех приложений Office (кроме Microsoft Outlook)

Debug

Представляет окно отладки

Dialog

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

FileFind

Открывает доступ к возможностям диалогового окна для поиска файлов (только Macintosh)

FileSearch

Используется для поиска файлов. Общий для всех приложений Office (кроме Microsoft Outlook)

Name

Представляет имя диапазона ячеек

ODBCError

Представляет ошибку, совершенную при работе с базой данных ODBC

RecentFile

Файл в списке недавно открывавшихся файлов

VBE

Используется для управления редактором Visual Basic. Общий для всех приложений Office (кроме Microsoft Outlook)

Window

Открывает доступ к различным окнам Excel

Workbook

Представляет файл рабочей книги

WorksheetFunction

Используется для вызова функции рабочего листа из программы

Третью, четвертую и пятую ступени занимают различные объекты, открывающие доступ к возможностям, предоставляемым объектами второй ступени. Иерархия объектов Excel имеет древовидную структуру. Например, спустившись со второй ступени на третью, начав с объекта Workbook, Вы увидите следующие объекты — Chart, CommandBar, CustomView, DataTable, DocumentProperty, Mailer, Name, PivotCache, RoutingSlip, Style, VBProject, Window и Worksheet. Если же Вы используете в качестве отправной точки объект Window, на третьей ступени окажется единственный объект Pane.

Схема иерархии объектов Excel поможет Вам узнать об их происхождении. Допустим, Вы хотите задать некое свойство объекта Range. Из диаграммы Вы узнаете, что он располагается «под» объектом Worksheet, который, в свою очередь, подчиняется последовательно объектам Workbook и Application. Вызывая метод для легенды на диаграмме, помните, что путь к ней от объекта Application пролегает через объекты Workbook и Chart.

Использование иерархии объектов Excel

Каким образом иерархия объекта влияет на способ написания программы VBA? Иногда для использования свойств и методов объекта Вам придется ссылаться на все объекты по восходящей линии. Разделяет имена объектов различных уровней точка (.).

Предположим, что Вы пишете подпрограмму для задания свойства Value объекта Range, представляющего первую ячейку первого рабочего листа первой книги Excel. Полная запись пути к нему выглядит так:

Application.Workbooks(1).Worksheets(1).Range("A1").Value = 1

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

Неявное обращение к объекту Application

Инструкция, показанная выше, будет выполнена в любом месте программы и всегда присвоит свойству Value первой ячейки (A1) первого листа первой книги значение 1 (при условии, что книга открыта), поскольку в ней путь к объекту Range указан полностью, начиная с объекта Application. Но если код выполняется в Excel, что, чаще всего, и бывает, ссылка на объект Application не обязательна. В отсутствие такой явной ссылки VBA будет считать, что программа выполняется для объекта, представляющего Excel, поэтому обращение к нему из инструкции можно убрать.

Workbooks(1).Worksheets(1).Range("А1").Value = 1

Выполнение этой инструкции в Excel приведет к тем же результатам, что и выполнение инструкции со ссылкой на объект Application.

Неявное обращение к рабочей книге

В Excel одновременно может быть открыто несколько рабочих книг, но только одна из них в данный момент будет активной. Это означает, что только с ней одной вправе работать пользователь. Окно активной книги на экране располагается поверх окон остальных книг. В последней инструкции к рабочей книге обращаются по ее номеру в семействе. Допустим, что Вы хотите изменить свойство не первой, а активной книги. Используйте для этого ссылку на объект Workbook под именем ActiveWorkbook.

ActiveWorkbook.Worksheets(1).Range("А1").Value = 1

Эта команда изменяет значение в ячейке активной рабочей книги (не обязательно первой).

Примечание. Для обращения к объекту Workbook используется также ссылка ThisWorkbook. Она определяет рабочую книгу, к которой относится исполняемый код. Это книга не обязательно должна быть активной.

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

Worksheets(1).Range("A1").Value = 1

Примечание. Если при выполнении этой инструкции открыто несколько книг, она будет применена к активной книге.

Неявное обращение к рабочему листу

Ссылка ActiveSheet, подобно ссылке ActiveWorkbook, служит для обращения к активному рабочему листу. Инструкция для изменения свойств активного листа принимает следующий вид:

ActiveSheet.Range("A1").Value = 1

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

Range("A1").Value = 1

Эта инструкция присваивает значение свойству Value ячейки А1 активного рабочего листа. Но некоторые объекты Excel имеют так называемое «свойство по умолчанию». У объекта Range свойством по умолчанию является Value, что позволяет еще более сократить инструкцию.

Range("A1") = 1

Как уже говорилось, ссылки ActiveWorkbook и ActiveSheet применяются для обращения к активным рабочей книге и листу. Для обращения к активному диапазону, то есть к группе выделенных ячеек, используется также свойство Selection объекта Application. Однако оно может ссылаться не только на объекты Range. При выполнении программы VBA определяет значение свойства Selection в соответствии с выделенным в данный момент объектом. При выполнении этой операции не полагайтесь на свойства по умолчанию, то есть, если Selection используется для присвоения значения свойству Value объекта Range, все элементы инструкции должны быть указаны явно, как показано в примере.

Selection.Value = 1

Выполнение этой команды вызывает присвоение значения выделенному диапазону, будь это Range("Al") или Range("Al:Z256").

Выбор уровня ссылки на объект

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

Application.Workbooks(1).Worksheets(1).Range("A1").Value = 1 Workbooks(1).Worksheets(1).Range("A1").Value = 1 AtiveWorkbook.Worksheets(1).Range("A1").Value = 1 Worksheets(1).Range("A1").Value = 1 ActiveSheet.Range("A1").Value = 1 Range("A1").Value = 1 Range("A1") = 1 Selection.Value = 1

Сколько же предшествующих объектов нужно указывать? Если Вы хотите застраховаться от любых неприятностей, начинайте все ссылки с объекта Application. Это гарантирует, что Вы обращаетесь к нужному объекту (если, конечно, не сделаете синтаксических ошибок). Но приготовьтесь к тому, что вводить код Вам придется долго.

Основные классы объектов VBA

Основные наборы (классы объектов), с которыми работает программа на VBA, представлены в таблице «Перечень семейств VBA»:

Имя набора

Вид объекта в наборе

Sheets

Все листы любых типов в рабочей книге

Workbooks

Все текущие открытые рабочие книги

Worksheets

Все таблицы (рабочие листы) в рабочей книге

Charts

Все листы диаграмм в рабочей книге

Range

Диапазон ячеек таблицы (строк, столбцов, несмежных ячеек, трехмерных выделений)

Рассмотрим создание приложений с помощью объектов Excel: Application, Workbook, Worksheet и Range, так как они используются чаще всего.

Объект Application

Этот объект располагается на самой верхней ступени иерархии и представляет само приложение Excel. Вы можете считать его средой, в которой выполняются приложения на языке VBA. Любое обращение к методу или свойству объекта Application влияет на все приложение Excel и на все выполняемые в нем приложения VBA.

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

Свойства

Caption — отображается в строке заголовка окна Excel. Тип данных String (строка); свойство доступно для чтения/записи

Application.Caption = "Мое приложение" MsgBox Application.Caption ‘выводится в окне текст "Мое приложение"

DisplayAlerts — управляет выводом на экран встроенных предупреждений Excel во время выполнения программы. True или False; доступно для чтения/записи.

Application.DisplayAlerts = False

DisplayFormulaBar — управляет отображением и сокрытием строки формул, True или False; доступно для чтения/записи.

Application.DisplayFormulaBar = False

DisplayStatusBar — управляет отображением и сокрытием строки состояния, True или False; доступно для чтения/записи.

Application.DisplayStatusBar = False

Nameимя приложения, доступно только для чтения.

MsgBox Application.Name ‘выводится в окне имя приложения Excel

Path — путь к папке, в которой установлена программа Excel. String; доступно только для чтения.

ExcelPath = Application.Path

ScreenUpdating — управляет обновлением экрана при выполнении программы. По умолчанию имеет значение True (экран обновляется). Измененное значение действует только во время выполнения программы, в которой это свойство было изменено, True или False; доступно для чтения/записи.

Application.ScreenUpdating = False

WindowState — состояние окна приложения. Может принимать одно из значений:

xlNormal Окно обычного размера

xlMaximlzed Окно развернуто

xlMinimized Окно свернуто

Доступно для чтения/записи.

Application.WindowState = xlNormal

Методы

Calculate — вызывает пересчет всех формул на всех листах всех рабочих книг. Аргументов нет.

Application.Calculate

Help — отображает раздел справочной системы из выбранного файла. Аргументы:

helpFile Строка с именем файла, при необходимости указывается и полный путь к нему

helpContextId Целое число, представляющее номер раздела

Application.Help helpFile := MAINXL.HLP helpContextId =100

Quit — закрывает приложение Excel, причем, если в момент вызова метода Quit значение свойства DisplayAlerts равно False, Excel не выводит на экран запрос на сохранение открытых рабочих книг. Аргументов нет.

Application.Quit

Run — выполняет подпрограмму VBA или макрос на макроязыке Excel. Первый аргумент — строка с именем подпрограммы или макроса, который нужно выполнить. Количество и тип дополнительных аргументов определяются структурой подпрограммы и макроса.

Application.Run macro :="OldMacro", arg1 := 100, arg2 := "Revenue"

Объект Workbook

Этот объект расположен на второй ступени иерархии объектов Excel, под объектом Application, и представляет файл рабочей книги. Объект Workbook предназначен для любых приложений, разрабатываемых в Excel, некоторые из которых могут работать с несколькими книгами. Однако одиночное приложение всегда располагается в одной книге. Любое обращение к методу или свойству объекта Workbook влияет на все приложение VBA.

Рабочие книги существуют в двух формах — в виде файла XLS(стандартная книга Excel) и файла XLA (надстройка Excel), содержащего полностью скомпилированное приложение VBA. Код VBA можно компилировать и без создания XLA, но только этот файл позволит Вам скрыть код от пользователей.

Свойства

Author - имя человека, создавшего рабочую книгу (автор)

Countколичество открытых книг

MsgBox Workbooks.Count ‘выводится в окне число открытых раб. книг

Name — имя рабочей книги, доступно только для чтения. Для сохранения книги с новым именем применяйте метод SaveAs.

WorkbookName = ThisWorkbook.Name

Path — путь к файлу рабочей книги, String; доступно только для чтения.

WorkbookPath = ActiveWorkbook.Path

ReadOnly - True, если сохранение рабочей книги запрещено, и False — в противном случае

Saved — имеет значение True, если с момента последнего сохранения в рабочую книгу не вносились изменения, и False — в противном случае, True или False; доступно для чтения/записи.

If Not(ActiveWorkbook.Saved) Then ActiveWorkbook.Save End If

Методы

Activate — активизирует рабочую книгу и открывает первое связанное с ней окно. Аргументов нет.

Workbooks("MYAPP").Activate

Addсоздание новой книги.

Close — закрывает рабочую книгу. Аргументы:

saveChanges Имеет значение True, если книгу перед закрытием нужно сохранить, и False — в противном случае

fileName Если предыдущий аргумент имеет значение True, - представляет имя файла для сохранения

routeWorkbook Имеет значение True, если перед закрытием книгу нужно разослать по маршруту (при условии, что он создан)

ActiveWorkbook.Close saveChanges =False

Delete - удаление компонентов набора

Openоткрытие уже существующей книги.

PrintPreview - предварительный просмотр книги перед печатью

Protect — защищает книгу от редактирования. Аргументы:

password Пароль для доступа к рабочей книге

structure Имеет значение True, если нужно защитить структуру рабочей книги

windows Имеет значение True, если нужно защитить структуру окна рабочей книги

Workbooks(1).Protect password, True, True

Save — сохраняет рабочую книгу. Аргументов нет.

ActiveWorkbook.Save

SaveCopyAs — сохраняет рабочую книгу в новом файле, оставляя исходную книгу в памяти с прежним именем. Аргумент:

fileName Строка с именем файла для сохранения копии книги

ActiveWorkbook.SaveCopyAs "КОПИЯ КНИГИ"

Unprotect - Отмена защиты книги

Объект Worksheet

Объект Worksheet содержится в объекте Workbook и выполняет в приложении VBA несколько функций, самая важная из которых заключается в том, что он служит основой для разработки большинства форм. Этот объект представляет рабочий лист Excel — мощное средство для ввода и изменения данных. Рабочие листы содержат около 400 встроенных функций, позволяющих в мгновение ока производить сложные вычисления, и могут служить миниатюрными базами данных. Табличная структура листов делает их идеальным средством для хранения и обобщения данных небольшого объема.

Свойства

Cells – задает ячейки рабочего листа и возвращает объект Range. Используя этот объект, можно задавать любую часть таблицы (строки, столбцы, диапазон ячеек).

Лист1.Cells.ClearContents

Countколичество рабочих листов

MsgBox WorkSheets.Count ‘выводится в окне число раб. листов

Index — номер рабочего листа в семействе, True или False; доступно только для чтения.

ActiveSheet.Name = "WkSheet" & ActiveSheet.Index

Name — имя рабочего листа. String; доступно для чтения/записи.

Worksheets(1).Name = "Мой рабочий лист" MsgBox Worksheets(1).Name ‘выводится имя 1-го раб. листа

UsedRange — диапазон рабочего листа с данными. Объект Range; доступно только для чтения.

Dim Диапазон1 As Range Set Диапазон1 = Worksheets(1).UsedRange

Для очистки содержимого рабочего листа можно использовать метод Clear объекта Range

Worksheets(1).UsedRange.Clear

Visible – видимость объекта, имеет значение True, если рабочий лист отображен на экране. В противном случае лист скрыт, но пользователь может вынести его на экран, выбрав из меню Формат команду Лист Отобразить.. Если значение этого свойства равно xlVeryHidden, лист скрыт, и вывести его на экран можно только из программы VBA. True (1 – видимый), False (0- скрытый) или xlVeryHidden (2- очень скрытый); доступно для чтения/записи.

Worksheets("Main").Visible = xlVeryHidden ‘очень скрыть рабочий лист - 2

ActiveWindows.SelectedSheets.Visible= True ‘отобразить рабочий лист - 1

ActiveWindows.SelectedSheets.Visible=False ‘скрыть рабочий лист - 0

Методы

Activate — активизирует рабочий лист. Аргументов нет.

Worksheets("Мой рабочий лист").Activate

Addдобавить новый лист

Worksheets.Add

Calculate — пересчитывает все формулы на рабочем листе. Аргументов нет.

Worksheets(l).Calculate

Delete — удаляет рабочий лист из книги. Аргументов нет.

Worksheets("Moй рабочий лист").Delete

Protect — защищает лист от редактирования. Аргументы:

Password Пароль для доступа к рабочему листу

DrawingObjects Имеет значение True, если нужно защитить все рисованные объекты на листе

Contents Имеет значение True, если нужно защитить ячейки рабочего листа

Scenarios Имеет значение True, если нужно защитить сценарии рабочего листа

UserInterfaceOnly Имеет значение True, если нужно запретить любые изменения листа средствами пользовательского интерфейса. Это означает, что лист можно корректировать лишь средствами программы. Если значение этого свойства равно False, запрещены любые изменения листа

Worksheets("Moй рабочий лист").Protect "password"

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

Selection.Formula.Hidden=True ActiveSheet.Protect

Доступ к отдельным ячейкам

Отдельные ячейки таблицы доступны через объект Range и следующие методы:

Cellsположение отдельной ячейки - задает ячейки рабочего листа и возвращает объект Range. Используя этот объект, можно задавать любую часть таблицы (строки, столбцы, диапазоны ячеек).

Cells(1,2) – ячейка В2; Cells(2,1) – ячейка А2.

Лист1.Cells(2,4).Value=5 ‘D2=5 содержимое ячейки

Columns - столбцы

Лист1.Columns(1).Value=0 ‘все ячейки 1-го столбца=0

Row - строки

Row(5). Value =1 ‘строка 5

Offsetместоположение ячейки относительно верхнего левого угла указанной области. Для А1 Offset(2,5) обозначает ячейку F3 (на 2 строки вниз и на 5 столбцов вправо).

Unionмножественные выделения областей ячеек: Union(Range(Cells(1,1),Cells(2,2)), Range(Cells(5,5),Cells(7,7)) – выделяет область ячеек A1:B2, E5:G7.

Hidden – скрыть:

Columns(“B:B”).Hidden=True ‘скрыть столбец В

Row(“5:7”).Hidden=True ‘скрыть строки с 5-й по 7-ую

Row(“5:5”).Hidden=True ‘скрыть строку 5

Объект Range

Объект Range входит в состав объекта Worksheet и представляет одну или несколько ячеек рабочего листа. Его главное назначение — хранить и отображать отдельные фрагменты данных: числа, строки или формулы. Ячейки можно связывать с другими ячейками на этом же листе, на другом листе и даже в другой рабочей книге. Из них можно вызывать встроенные функции Excel и функции VBA.

Свойства

Borders – возвращает объект Borders - набор из параметров четырех сторон рамки указанной области ячеек.

Range("A10,G10").Borders.LineStyle = xlDouble ' двойная линия рамки Range("A10,G10").Borders.ColorIndex = 3 ’красная рамка для двух несмежных ячеек Range("C3:D4,E5:G7").Borders.LineStyle = xlContinuous ‘сплошная линия рамки Range("C3:D4,E5:G7").Borders.ColorIndex = 4 ‘ зеленая рамка Range("D1:G1").Borders.LineStyle = xlDash ‘пунктирная линия рамки Range("D1:G1").Borders.ColorIndex = 5 ’ синяя рамка для диапазона смежных ячеек Range(Cells(1, 1), Cells(2, 2)).BorderAround ColorIndex:=3, Weight:=xlThick ’красная жирная рамка для ячеек A1:B2 Range("Diapazon1").BorderAround ColorIndex:=5 ’синяя рамка для поименованного диапазона

Count — число ячеек в диапазоне Integer; доступно только для чтения.

NumOfCells = Worksheet(1).UsedRange.Count

Dependents -- диапазон, содержащий все зависимые ячейки выделенного диапазона, то есть ячейки, ссылающиеся на него в формулах. Объект Range; доступно только для чтения.

Dim Диапазон1 As Range Set Диапазон1 = Worksheets(1).Range("A1").Dependents MsgВох Диапазон1.Address

Interiorфон ячеек диапазона

Range("E2").Interior.ColorIndex = 1 ' цвет фона черный

Range("E2").Interior.ColorIndex = 3 ' цвет фона красный

Range("E2").Interior.ColorIndex = 5 ' цвет фона синий

Font - задает шрифт для указанной области ячеек (вид шрифта, размер, цвет, …)

Range("E1").Font.Size = 20 ‘размер шрифта

Range("E1"). Font.ColorIndex = 1 ‘черный цвет шрифта

Range("E1"). Font.ColorIndex = 3 ‘красный цвет шрифта

Range("E1"). Font. ColorIndex = 4 ‘зеленый цвет шрифта

Range("E1"). Font. Color = RGB(255,0,0) ‘красный цвет шрифта

Range("E1"). Font. Color = RGB(0,255,0) ‘зеленый цвет шрифта

Range("E1"). Font. Color = RGB(0,0,255) ‘синий цвет шрифта

Range("E1"). Font. Color = RGB(0,0,0) ‘черный цвет шрифта

Range("E1"). Font. Color = RGB(255,255,255) ‘белый цвет шрифта

Formula — строка с формулой, содержащейся в диапазоне, включая знак равенства. Если диапазон состоит из нескольких ячеек, свойство Formula содержит массив формул. String, доступно для чтения/записи.

Range("Первая_ячейка").Formula = $А$4 + $А$10 ‘в ячейку поместить формулу MsgBox Range("A1"). Formula ‘отобразить формулу, содержащуюся в ячейке, в диалоговом окне

Name — имя диапазона. String; доступно для чтения/записи.

Worksheets(1).Range("A1").Name = "Первая_ячейка"

Text значение ячейки, представленное в виде текста. Например, свойство Text ячейки в денежном формате содержит строку "$5 00", а свойство Value — число 5. Если диапазон состоит из нескольких ячеек, свойство Text содержит массив строк String; доступно только для чтения.

Worksheets(1).Range("Первая_ячейка").Value = 1 MsgBox Worksheets(1).Range("Первая_ячейка").Text

Value — значение, содержащееся в диапазоне. Если он состоит из нескольких ячеек, свойство Value содержит массив значений Boolean, Byte, Currency, Date, Double, Integer, Long, Single или String, доступно для чтения/записи.

Worksheets(1).Range("Первая_ячейка").Value = 1

Методы

AddCommentдобавление примечания к ячейке

Range(“C8”).AddComment “Это правильно?”

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

Font задает шрифт для указанной области ячеек.

Calculate — пересчитывает все формулы диапазона. Аргументов нет.

Worksheets(1).Range("A1:F20").Calculate

Clear — удаляет из диапазона все значения, формулы и форматирование. Аргументов нет.

Worksheets(1).Range("A1:F20").Clear

ClearContents — удаляет из диапазона все значения и формулы, но оставляет форматирование. Аргументов нет.

Worksheets(1).Range("A1:F20").ClearContents

Copy — копирует содержимое диапазона в другой диапазон или в буфер обмена.

Аргумент:

Destination Диапазон для копирования содержимого исходного диапазона (если этот аргумент отсутствует. содержимое копируется в буфер обмена)

Worksheets(1).Range("A1").Copy

Cutвырезать содержимое диапазона в буфер

WorkSheets(“Лист1”).Range(“A1:B5”).Cut WorkSheets(“Лист1”).Range(“C1”) ‘вырезать данные из А1:В5 и поместить в область, левая верхняя ячейка которой С1

Правила выбора имен для объектов

Правила выбора имен для переменных, форм, модулей, констант, процедур, проектов и других элементов программы:

  • Имена состоят из букв, цифр и символа подчеркивания.

  • Имена должны начинаться с буквы, но не с цифры.

  • Имя не должно совпадать с каким-либо ключевым словом, встроенной функцией или оператором VBA.

Длина имени не должна превышать 255 символов (для форм и элементов управления – не более 40 символов);

Имя должно отражать содержательный смысл объекта и состоять из одного или нескольких слитно написанных (или отделенных символом подчеркивания) слов, каждое из которых начинается с большой буквы.

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

Если вы попытаетесь ввести имя, нарушающее эти правила, редактор VBA сделает эти символы красными и выдаст сообщение об ошибке. Предупреждение о дублировании имён процедур появится, когда программа начнёт выполняться.

Прописные и строчные буквы не различаются. Редактор VBA запоминает то имя, которое вы задаёте в оглавлении, и это имя везде будет автоматически откорректировано.

Модуль 1

Змістовний модуль 1

Лекція 7 Інтелектуальні технології на базі ЕТ 2 год.

1. Необхідність використання інтелектуальних технологій, головні визначення, особливості побудови інтелектуальних технологій на базі ЕТ.

2. Аналітичні технології підтримки прийняття рішень на базі ЕТ.

3. Нечітка математика та нейроні мережі на базі ЕТ, програми Fexcel. NeuralNet.

4. Приклади практичної роботи.

Рекомендована література: 1, 2, 3, 33, 36, 46

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

Исследования разработчиков новых интеллектуальних систем направлены на разработку методов соединения человеческого интеллекта и компьютерных систем. В последнее время стремительно развиваются и используются аналитические технологии.

Аналитические технологии - это методики, которые на основе определенных моделей, алгоритмов, математических теорем позволяют по известным данным оценить значения неизвестных характеристик и параметров. Простейшим примером аналитической технологии является теорема Піфагора, которая позволяет определить длину гипотенузы имея известные длины катетов по известной формуле с2=а2+b2.

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

Аналитические технологии нужны в первую очередь людям, принимающим важные решения - руководителям, аналитикам, экспертам, консультантам. Доход компании в большей степени определяется качеством этих решений - точностью прогнозов, оптимальностью избранных стратегий. И от качества этих решений зависит доход компании. С помощью аналитических технологий можно решать проблемы прогнозирования (курсов валют, цен на сырье, спроса, дохода компании, уровня безработицы, числа страховых случаев) и оптимизации (расписаний, маршрутов, плана закупок, плана инвестиций, стратегии развития).

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

Детерминированные технологии

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

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

Вероятностные технологии

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

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

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

Новые технологии

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

При разработке аналитических технологий учитывается их способность:

  • понимания задачи, общего процесса и знания возможностей других систем и людей, принимающих участие во взаимодействии;

  • связь с пользователями с помощью понимания естественного языка, рисунков, изображений, и знаков;

  • знания, основанные на здравом смысле;

  • координирование принятия решений, планирования и действия;

  • обучение на предыдущем опыте и адаптация поведения.

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

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

Компьютерные технологии для интеллектуальных вычислений переживают свой расцвет. Сейчас происходит стремительный рост числа программных продуктов, использующих новые технологии, а также типов задач, где их применение дает значительный экономический эффект. Элементы автоматической обработки и анализа данных, которые называют Data Mining (добыча знаний) становятся неотъемлемой частью концепции электронных хранилищ данных и организации интеллектуальных вычислений. Простой доступ пользователя к хранилищу данных обеспечивает только получение ответов на заданные вопросы, в то время как технология data mining позволяет увидеть ("найти") скрытые правила и закономерности в наборах данных, которые пользователь не может предвидеть, и знание которых может способствовать увеличению прибылей предприятия.

Data Mining переводится как "добыча" ли "раскопка данных". Часто, наряду с термином Data Mining применяют выражение "интеллектуальный анализ данных". Дело в том, что человеческий ум сам по себе не приспособлен для восприятия больших массивов разнородной информации. Человек вдобавок не способен улавливать более двух-трех взаимосвязей даже в небольших выборках.

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

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

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

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

Конечно ж, компания, давно находящаяся на рынке и знающая своих клиентов пользуется множеством моделей. Технологии интеллектуального анализа могут не только подтвердить эти эмпирические наблюдения, но и найти новые, неизвестные прежде модели. Сначала это может дать пользователю лишь небольшое преимущество, но если его объединить по каждому товару и каждому клиенту, дает большой отрыв от тех, кто не использует технологии Data Mining. С другой стороны, с помощью методов data mining можно найти такую модель, которая приведет к радикальному улучшению в финансовом и рыночном положении компании.

Data Mining - это набор средств, а не волшебная палочка. Она не находится в базах данных и не посылает электронную почту, если видит интересную модель. Она не исключает необходимости знания аналитиком бизнеса и понимания данных или аналитических методов. Эта технология помогает аналитикам в нахождении моделей и отношений в данных, но она не говорит о ценности этих моделей для организации. Каждая модель должна проверяться в реальной среде.

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

Современные технологии интеллектуального анализа перелопачивают информацию с целью автоматического поиска шаблонов, характерных для каких-нибудь фрагментов неоднородных многомерных данных. Тяжесть формулирования гипотез и выявления необычных шаблонов переведена с человека на компьютер.

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

Для успешного проведения процесса нахождения нового знания необходимым условием является наличие хранилища данных. Хранилище данных - это предметно-ориентированный, интегрированный, привязанный ко времени, неизменный сбор данных для поддержания процесса принятия решений.

Предметная ориентация означает, что данные объединены в категории и сохраняются соответственно областям, что они описывают, а не к применениям, их использующих. Интегрированность означает, что данные удовлетворяют требованиям всего предприятия, а не одной функции бизнеса. Этим, хранилище данных гарантирует, что одинаковые отчеты, сгенерированные для разных аналитиков, будут содержать одинаковые результаты. Привязка ко времени означает, что хранилище можно рассматривать как совокупность "исторических" данных: можно восстановить картину на любой момент времени. Атрибут времени всегда явно присутствует в структурах хранилища данных. Неизменность означает, что, попав один раз в хранилище, данные там сохраняются и не изменяются. В хранилище данные лишь добавляются.

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

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

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

Клиент-серверная архитектура также является необходимым атрибутом технологии интеллектуального анализа данных. Такой подход предоставляет возможности выполнять наиболее трудоемкие процедуры обработки данных на высокопроизводительном сервере как разработчикам проектов, так и пользователям. На этом же сервере могут храниться, и по запросам клиентов, выполняться корпоративные проекты.

Сфера применения технологий интеллектуальных вычислений ничем не ограничена - она везде, где есть какие-нибудь данные. Но в первую очередь методы Data Mining сегодня заинтриговали коммерческие предприятия, разворачивающих проекты на основе информационных хранилищ данных. Опыт многих таких предприятий показывает, что отдача от использования технологий интеллектуального анализа данных может достигать 1000%. Технологии Data Mining оказывают большую помощь для руководителей и аналитиков в их повседневной деятельности, поскольку они могут получить ощутимые преимущества в конкурентной борьбе. Коротко охарактеризуем некоторые возможные бизнес-применения технологий интеллектуального анализа данных и вычислений.

Применение интеллектуальных технологий распространено в широком спектре индустрий. Методы Data Mining распространены во многих организациях, поскольку они способствуют увеличению доходов. Эти методы могут использоваться для управления взаимоотношениями с клиентами. Определяя характеристики клиентов, которые могут обратиться к конкурентам, компания может начинать действия для их удержания, так как сохранить клиента всегда дешевле, чем приобрести нового.

  • Маркетинг данных - определение с помощью методов Data Mining круга кандидатов для рассылки целевой рекламы, что позволяет увеличить продажу, уменьшив при этом затраты на проведение такой рекламы.

  • Телекоммуникационные компании и компании, страховые компании и фондовые биржи применяют эти технологии для определения потерь клиентов.

  • Компании, действующие на финансовом рынке, определяют рыночные и отраслевые характеристики для предвидения индивидуальных и фондовых преимуществ в ближайшем будущем.

  • Медицина - определяется эффективность применения медикаментов, хирургических процедур и медицинских тестов.

  • Фармацевтические фирмы используют хранилища данных по химическим соединениям для нахождения комбинаций соединений, которые в дальнейшем можно будет использовать как лекарство для лечения разных заболеваний.

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

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

Чем больше аналитик может "играть" с данными, строить модели, оценивать результаты, тем лучше может быть результат. Работа с данными становится эффективней, при интеграции следующих компонентов: визуализации, графическиого инструментария, средств формирования запросов, оперативной аналитической обработки, позволяющей понять данные и интерпретировать результаты.

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

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

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

  • распределенное представление информации и параллельные вычисления

  • способность к обучению и обобщению

  • адаптивность

  • толерантность к ошибкам

  • низкое энергопотребление

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

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

История нейронных сетей

Изучению человеческого мозга - тысячи лет. С появлением современной электроники, начались попытки аппаратного воспроизведения процесса мышления. Первый шаг был сделан в 1943 г. с выходом статьи нейрофизиолога Уоррена Маккалоха (Warren McCulloch) и математика Уолтера Питтса (Walter Pitts) про работу искусственных нейронов и представления модели нейронной сети на электрических схемах.

  • 1949 г. - опубликована книга Дональда Хебба (Donald Hebb) "Организация поведения", где исследована проблематика настройки синаптических связей между нейронами.

  • 1950-е гг. - появляются программные модели искусственных нейросетей. Первые работы проведены Натаниелом Рочестером (Nathanial Rochester) из исследовательской лаборатории IBM. И хотя дальнейшие реализации были успешными, эта модель потерпела неудачу, поскольку бурний рост традиционных вычислений оставил в тени нейронные исследования.

  • 1956 г. - Дартмутский исследовательский институт искусственного интеллекта обеспечил подъем искусственного интеллекта, в частности, нейронных мереж. Стимулирование исследований искусственного интеллекта разделилось на два направления: промышленные применения систем искусственного интеллекта (экспертные системы) и моделирование мозга.

  • 1958 г. - Джон фон Нейман (John fon Neumann) предложил имитацию простых функций нейронов с использованием вакуумных трубок.

  • 1959 г. - Бернард Видров (Bernard Widrow) и Марсиан Хофф (Marcian Hoff) разработали модели ADALINE и MADALINE (Множественные Адаптивные Линейные Элементы (Multiple ADAptive LINear Elements)). MADALINE действовала, как адаптивный фильтр, устраняющих эхо на телефонных линиях. Эта нейросеть до сих пор в коммерческом использовании.

  • Нейробиолог Френк Розенблатт (Frank Rosenblatt) начал работу над перцептроном. Однослойный перцептрон был построен аппаратно и считается классической нейросетью. Тогда перцептрон использовался для классификации входных сигналов в один из двух классов. К сожалению, однослойный перцептрон был ограниченым и подвергся критике в 1969 г., в книге Марвина Мински (Marvin Minsky) и Сеймура Пейперта (Seymour Papert) "Перцептроны".

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

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

  • 1982 г. - к возрождению интереса привело несколько событий. Джон Хопфилд (John Hopfield) представил статью в национальную Академию Наук США. Подход Хопфилда показал возможности моделирования нейронных сетей на принципе новой архитектуры.

  • В то же время в Киото (Япония) состоялась Объединенная американо-японская конференция по нейронным сетям, которые объявили достижением пятой генерации. Американские периодические издания подняли эту историю, акцентируя, что США могут остаться позади, что привело к росту финансирования в области нейросетей.

  • С 1985 г. Американский Институт Физики начал ежегодные встречи - "Нейронные сети для вычислений".

  • 1989 г. - на встрече "Нейронные сети для обороны" Бернард Видров сообщил аудитории о начале четвертой мировой войны, где полем боя являются мировые рынки и производства.

  • 1990 г. - Департамент программ инновационных исследований защиты малого бизнеса назвал 16 основных и 13 дополнительных тем, где возможно использование нейронных мереж.

Сегодня, обсуждение нейронных сетей происходят везде. Перспектива их использования кажется довольно яркой, в свете решения нетрадиционных проблем и является ключом к целой технологии. На данное время большинство разработок нейронных мереж принципиально работающие, но могут существовать процессорные ограничения. Исследования направлены на программные и аппаратные реализации нейросетей. Компании работают над созданием трех типов нейрочипов: цифровых, аналоговых и оптических, которые обещают быть волной близкого будущего.

Аналогия с мозгом

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

Кора головного мозга человека является плоской, образованной из нейронов поверхностью, толщиной от 2 до 3 мм площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора главного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 - 104 другими нейронами. В целом мозг человека имеет приблизительно от 1014 до 1015 взаимосвязей.

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

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

Биологический нейрон

Нейрон (нервная клетка) состоит из тела клетки - сомы (soma), и двух типов внешних древовидных ответвлений: аксона (axon) и дендритов (dendrites). Тело клетки содержит ядро (nucleus), где находится информация про свойства нейрона, и плазму, которая производит необходимые для нейрона материалы. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемника) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчик), который в конце разветвляется на волокна (strands). На окончаниях волокон находятся синапсы (synapses).

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

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

Искусственные нейронные сети

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

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

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

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

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

Обучение искусственной нейронной сети

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

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

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

Обгрунтованность применения нейросетей

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]