Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория информации и кодирования (уч. пособие).docx
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
7 Мб
Скачать
☆

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

Программное управление приложениями, входящими в состав Microsoft Office, осуществляется при помощи так называемых макросов.

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

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

Для этого нужно выбрать пункты меню Сервис -> Параметры (рис. 15).

Рис. 15. Пункт меню Параметры.

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

Рис. 15. Окно Параметры.

Для изменения настройки работы с макросами следует нажать кнопку Безопасность макросов (обведена красной рамкой).

В результате на экран выводится еще одно окно – Безопасность (рис. 16).

Рис. 16. Окно Безопасность.

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

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

Создание нестандартной функции

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

Рис. 17. Окно управления подключением макросов.

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

Новая функция создается по правилам Visual Basic с использованием средств Visual Basic. Тем, кто уже прог­раммировал на этом языке, все покажется знакомым.

Для вызова редактора следует выбрать следующие пункты меню: Сервис–>Макрос–> Редактор Visual Basic (см. рис. справа). Быстрый вызов возможен при помощи клавишной комбинации Alt+F11.

Рис. 18. Выбор пункта меню Редактор Visual Basic.

Результатом вызова редактора Visual Basic будет вывод на экран следующего изображения:

Рис. 19. Окно редактора Visual Basic.

Нестандартная функция оформляется как новая процедура-функция, доступная со всех листов рабочей книги. В данном примере рабочая книга имеет имя Текст на арабском языке (это имя файла, в котором она хранится). В ней пока 2 листа – Лист1 с именем Лист1 и Лист2 с именем Арабский_текст.

Для создания таких процедур можно использовать так называемые стандартные модули. Стандартные модули создаются путем выбора пунктов меню Insert->Module (рис. 20).

Рис. 20. Выбор пункта меню Module.

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

Рис. 21. Окно редактора Visual Basic.

Вписать в него код новой процедуры-функции удобнее всего при помощи шаблона. Для его получения следует выбрать пункты меню Insert->Procedure (рис. 22).

Рис. 22. Выбор пункта меню Procedure.

В результате на экран будет выведено окно Add procedure, предназначенное уточнения параметров процедуры – ее имени и типа (рис. 23).

Рис. 23. Окно Add Procedure.

В данном примере создается процедура-функция с именем UC_CD, предназначенная для преобразования символа, закодированнного в стандарте Unicode в его кодовое обозначение.

После нажания кнопки ОК это окно исчезает, а в окне редактора кода появляется заготовка кода функции:

Public Function UC_CD()

……………………….

End Function

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

Пусть аргумент будет иметь имя Х.

Текст процедуры вычисления функции должен помещаться между заголовком Public Function UC_CD(Х) и оператором окончания End Function. В этом тексте обязательно должен быть оператор присвоения имени функции, в данном случае UC_CD определенного значения – результата вычисления функции.

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

Набор стандартных функций Visual Basic, например, содержит функции AscW(х) и ChrW(x), позволяющие получать числовой код символа, закодированного в стандарте Unicode и обратно, по числовому коду в стандарте Unicode воспроизвести соответствующий этому коду символ.

Кроме того, набор стандартных функций Visual Basic содержит такие полезные функции, как Cint(x) и Hex(x), которые можно использовать для преобразования чисел из шестнадцатеричной системы считсления в десятичную и наоборот. В первом случае аргумент функции Cint записвается с приписанными впереди символами &h.

Например: Cint(&h2A) возвратит значение 42

На рисунке 24 изображено окно редактора кода с текстами процедур-функций, которые позволяют преобразовывать символы в код стандарта Unicode и обратно, а также шестнадцатеричные числа в десятичные и обратно.

Рис. 24. Окно редактора кода с текстами нестандартных функций.

Эти новые нестандартные функции теперь можно использовать наряду со стандартными в формулах, вводимых в клетки Excel-таблицы.

Функции преобразования из шестнадцатричной системы счисления в десятичную и наоборот (Con16_10 и Con10_16) можно не создавать, если для преобразования использовть встроенныый в ОС Windows калькулятор. Он вызывается из меню (Пуск -> Все программы -> Стандартные-Калькулятор) или, если меню изменено, как программа Calc (Пуск -> Выполнить…).

Окно редактора Visual Basic можно закрыть. Введенные коды в дальнейшем будут сохраняться вместе с Excel-таблицей.