Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy_po_informatike.docx
Скачиваний:
11
Добавлен:
18.04.2019
Размер:
592.71 Кб
Скачать
  • Вопрос 25. Язык vba, его состав: алфавит, константы, переменные, выражения, приоритет выполнения операций, типы данных. Структура программы.

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

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

Для этого существуют специальные программы – переводчики (трансляторы) : 2 вида – компилятор и интерпретатор.

Компилятор – транслирует программу сразу целиком и лишь после этого возможно ее выполнение.

Интерпретатор – он последовательно транслирует операторы программы, и так же по частям ее выполняет.

В VBA используется интерпретатор.

Подавляющее большинство программ состоит из:

  1. Получения данных из внешнего мира (ввод)

  2. Обработка их по соответствующему алгоритму хранения необходимой информации.

  3. Ввод во внешний мир полученных результатов.

Все эти действия реализируются с помощью:

  • Команд

  • Алгоритмических структур

  • Структур данных

Основу любого языка составляет АЛФАВИТ. Алфавит – это фиксированный набор символов, используемый для составление текстов на данном языке.

Алфавит VBA:

  • Буквы лат и рус алфавита ( различия между заглавными и прописными буквами нет)

  • Арабские цифры от 0-9

  • Спец знаки (пробел…..)

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

Подпрограммы реализуют определенный алгоритм:

АЛГОРИТМ – это последовательность инструкций, выполнение которых приводит к правильному решению полученной задачи.

Структура данных.

Данные которые можно обрабатывать в программе подразделяются на:

  • Переменные

  • Константы

  • Объекты

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

Пример: Kurs1_ball

Константы – это постоянные величины значения которых не изменяются.

Пример: 92-целое число, 4.23 – вещественное число, «УПП» - строка

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

Все визуальные объекты такие как:

  • Приложение (Application)

  • Рабочая книга (WoorkBook)

  • Рабочий лист (WoorkSheets)

  • Диапозон (Range)

  • Диаграмма (Chart)

  • Форма (UserForm)

являются объектами , которые можно обрабатывать в процедуре VBA.

Для просмотра всех объектов в окне редактора VBA можно зайти в меню View выбрать кманду Object Browser или нажать кнопку F2.

Каждый объект обладает некоторыми св-вами.

Каждому объекту можно применить некоторые методы воздействия.

Каждый объект может распознавать некоторые события.

СВОЙСТВА – это характиристики объекта, отвечающие за его внешний вид.

МЕТОДЫ – это операции преобразования объекта.

СОБЫТИЕ – действие, распознаваемое объектом . Событие возникает в результате действия пользователя ил программы (напр. Щелчок мыши).

Для каждого события можно запрограммировать отклик.

Доступ к свойствам и методам объекта можно получить , указав имя этого свойства или метода после имени объекта.

Имя объекта отделяется от имени св-ва или метода ТОЧКОЙ. Свойсва объекта можно «считывать», т. Е использовать в выражениях опр конструкций. Некоторые свойства можно изменить.

.Семейство объектов WorkSheet

Это семейство является совокупностью рабочих листов рабочей книги.

НА рабочем листе можно ссылаться по имени или номеру в семействе WorkSheet.

Для ссылки на активный лист можно использовать объекты.

СВОЙСТВА:

  • Name – Имя раб листа

Напр: WorkSheet(1).Name = «Январь»

  • UsedRange – возращает объет (блок ячеек) который содержит данные.

Напр: MsgBox WorkSheet(1).UsedRange.Adress –выводит в диалоговом окне адрес занятого данными блока ячеек

МЕТОДЫ:

  • Select – активизирует раб. лист

Напр: WorkSheets(1).Select

СОБЫТИЯ

  • Activate – возникает при активации данного раб листа

  • Change – возникает при изменении данных на листе.

Объект Range

Объект Range содержится в объекте WorkSheet и используется для представления одной или более ячеек рабочего листа.

СВОЙСТВА:

  • Count – количество ячеек, представляемых объектом.

Напр: N = WorkSheet(1).UsedRange.Count – переменная N будет равна числу ячеек в занятой данными области первого рабочего листа.

  • Value – Значение, которое сод диапазон. Если это св-во исп. для записи-то оно может быть опущено

Напр: Range(“A1:D3”)=1

  • Name – Имя диапазона

Напр: Range(“A1”).Name = «Оценка»

  • Formula – Представляется виде строки формула ,которая содержится в диапазоне (включая знак “=”).Если диапазон содержит несколько ячеек, то зн-ем св-ва является массив сод формулы всех ячеек диапазона.

Прим: ActiveCell.Formula = “ = SUM(B1:B3) – в любую активную ячейку запишет ф-лу =СУММ (B1:B3)

Range (“B1:B3).Formala= “ = A1/5 – заполняет диапазон ф-лами с относительными адресами

  • FormulaR1C1 – представляется виде строки ф-ла с типом ссылок R1C1.

Прим: Range (“B1:B3).FormalaR1C1 = “ = RC[-1]/5

ActiveCell.FormulaR1C1 = “ = SUM(R[-3]C:R[-1]C”)

  • Cells(I,j) – ячейка расположенная в i-той строке и j-том столбце диапазона ячеек

  • Columns – возвращает семейство столбцов из которых состоит диапазон

  • Rows – возвращает семейство строк из которых состоит диапазон

  • Font – возвращает шрифт

  • Borders – возвращает границы

МЕТОДЫ:

  • ClearContents – Очищает сод блока

  • ClearFormats – очищает форматы

  • Clear – очищает содержимое и формат

  • Select – выделяет блок ячеек возвращает объект Selection При работе с которым можно исп. св-ва и методы Range

Напр: WorkSgeets(1).UsedRange.Select – выделяет блок ячеек, занятые данными

N = Selection.Rows.Count – в переменной N будет записано кол-во строк выделенной области

  • Copy – копирует зн-я из диапазона ячеек в буфер обмена или в другой диапазон.

  • PasteSpicial – вставляет зн-е из буфера обмена.

  • Delete – удаляет диапазон

Прим: Rows(3).Delete – удаляется3я строка активного раб. листа

ТИПЫ ДАННЫХ

VBA Работает с 11ю стандартными типами переменных.

Название типа Размер в байтах Описание и диапазон значения

Byte 1 ----Для хранения положительного числа от 0 до 255

Boolean 2 ----Для хранения логических значений; может содержать только значения True и False

Date 8 ------Для хранения комбинации информации о дате и времени. Диапазон может быть от 1 января 100 года до 31 декабря 9999 года. Диапазон времени 00:00:00 до 23:59:59.

Integer 2 ----Все целые числа от -32 768 до 32 767

Long 4 ----Все целые числа от – 2 147 483 648 до 2 147 483 647

Single 4 ----Отрицательные числа от -3.4х1038 до -1.4х10-45; Положительные числа от 1.4х10-45 до 3.4х1038

String 1 ----Используется для хранения текста. Может содержать от 0 символов до приблизительно 2 миллиардов символов

Variant 16 байт + 1 байт/символ -----Тип Variant может хранить любой другой тип данных. Диапазон для данных типа Variant зависит от фактически сохраняемых данных. В случае текста диапазон соответствует строковому типу; в случае чисел диапазон такой, как у типа Double

Double 8 -----Отрицательные числа от –1.8х10308 до -4.9х10-324; Положительные числа от 4.9х10-324 до 1.8х10308

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

Object 4 ------ ссылка на объект

Объявление данных

Явное объявление типов данных выполняется 2ми операторами:

  1. Dim – для объявления переменных

  2. Const – для объявления поименованных констант.

Синтаксис опера Dim : Dim <имя> [As<Тип>][,<имя>[As<тип>]]…

Если тип не указан то используется Variant.

Для того чтобы транслятор VBA контролировал объявление переменных, используется оператор Option Explicit.

Он размещается в окне модуля перед первой процедурой. Если здесь же объявить данные то они будут доступны во всех процедурах данного модуля. Если в тексте использовать необъявленную переменную, транслятор выведет сообщение об ошибке : Variable not defined.

Математические и строковые операции VBA в порядке убывания приоритета

Операция Выполняемое действие

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

- Отрицание

? Умножение

/ Деление 1

\ Целочисленное деление

Mod Определение остатка от деления

+ Сложение

- Вычитание2

& Объединение (конкатенация) строк

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