к оглавлению   ООП 3GL к 4GL - визуальному программированию

Язык визуального программирования приложений Visual Basic for Applications

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

  1. ОБЪЕКТ APPLICATION
  2. ОБЪЕКТ WORKBOOK и СЕМЕЙСТВО WORKBOOKS
  3. ОБЪЕКТ WORKSHEET и СЕМЕЙСТВО WORKSHEETS
  4. ОБЪЕКТЫ RANGE и SELECTION

Объект Application

Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида:

Application.ФункцияРабочегоЛиста(Аргументы)

Например:

Application . Pi ( )

Вычисление числа п

Application. Pmt (Аргументы)

Определение постоянных периодических платежей при постоянной процентной ставке с помощью функции ППЛАТ (РМТ)

Application . Sum (Аргументы)

Нахождение суммы значений из ячеек диапазона

Приведем несколько наиболее часто используемых свойств, методов и событий объекта Application.

Свойства объекта Application

Свойства

Выполняемые действия и допустимые значения

ActiveWorkbook,

ActiveSheet

ActiveCell

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

Свойства

Выполняемые действия и допустимые значения

ActiveChart

В следующем примере в активной ячейке устанавливается по-

ActiveDialog

лужирный шрифт и в нее вводится строка текста Отчет за май: With ActiveCell .Font. Bold = True .Value = "Отчет за май" End With

ThisWorkbook

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

Calculation

Устанавливает режим вычислений. Допустимые значения: xlCalculationAutomatic (автоматический режим) xlCalculationManual (вычисления выполняются вручную)

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

Caption

Возвращает текст в строке имени главного окна Excel. Установка свойства равным Empty возвращает заголовок, используемый по умолчанию. В следующем примере первая инструкция устанавливает в качестве заголовка окна приложения текст Отчет за 1999 год, а вторая возвращает имя окна, используемое по умолчанию, т. е. Microsoft Excel:

Application. Caption = "Отчет за 1999 год" Application. Caption = Empty

DisplayAlerts

Допустимые значения: True (отображаются встроенные предупреждения о работе программы) и False (предупреждения не отображаются)

DisplayFormulaBar

Допустимые значения: True (строка формул выводится в окне Excel) и False (строка формул не выводится).

В данном ниже примере установлен режим, при котором строка формул не будет выводиться в окне Excel:

Application. DisplayFormulaBar = False

DisplayScrollBars

Допустимые значения: True (полосы прокрутки видны в окне Excel) и False (полосы прокрутки не отображаются). Например: Application. DisplayScrollBars = False — строка формул не будет выводиться в окне Excel

Свойства

Выполняемые действия и допустимые значения

DisplayStatusBar

Допустимые значения: True (строка состояния видна в окне Excel) и False (строка состояния не видна). Например:

Application. DisplayStatusBar = True — строка состояния не будет выводиться в окне Excel

EnableCancelKey

Определяет действие при нажатии комбинации клавиш <Ctrl>+<Break>, используемой для прерывания выполнения процедуры. Допустимые значения:

xlDisabled (прерывания программы запрещено) xllnterrupt (прерывание процедуры разрешено) XlErrorHandler (прерывание воспринимается как ошибка)

Height

Высота окна приложения в пунктах

Width

Ширина окна приложения в пунктах

Left

Расстояние в пунктах от левой границы окна приложения до левого края экрана

Right

Расстояние в пунктах от правой границы окна приложения до правого края экрана

Top

Расстояние в пунктах от верхней границы окна приложения до верхнего края экрана

ScreenUpdating

Допустимые значения: True (изображение обновляется во время выполнения программы) и False (изображение не обновляется). Задание False в качестве значения свойства ускоряет выполнение процедуры. В конце процедуры свойству

ScreenUpdating необходимо присвоить значение True

StatusBar

Выводит заданный текст в строке состояния. Выполнение приведенного ниже примера позволит вывести текст Ввод данных. . . в строке состояния:

Application. DisplayStatusBar = True Application. StatusBar = "Ввод данных..."

Version

Возвращает номер текущей версии Excel. Применяется для проверки того, что приложение используется в корректной версии. Например:

If Application. Version о "8.0" Then Exit Sub

WindowState

Устанавливает размер окна. Допустимые значения: xlMaximized (максимальный) xlMinimized (минимальный) xlNormal (нормальный) Например: Application. WindowState = xlMaximized — устанавливается максимальный размер окна

Методы объекта Application

Методы

Выполняемые действия

Calculate

 

Run

 

 

 

 

 

 

Volatile

 

 

 

Wait

 

 

 

 

 

 

 

OnKey

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

Application. Calculate

Запускает на выполнение подпрограмму или макрос. Синтаксис:

Run (Macro, Argl, Arg2, ...)

  • Macro — строка с именем макроса
  • Arg1, Arg2, ... — аргументы передаваемые макррсу Например:

Application. Run Macro:= "Расчет"

- запускает макрос Расчет

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

Function Квадрат (х) Application .

Volatile Квадрат = х^2 End Function

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

Синтаксис:

Wait (Time)

  • Time — время, в которое предполагается возобновить работу приложения

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

Application. Wait "17:00:00"

Устанавливает выполнение специфицированной процедуры при нажатии заданной комбинации клавиш.

Синтаксис:

OnKey(Key, Procedure)

  • Procedure — имя выполняемой подпрограммы при нажатии клавиш
  • Key — строка, определяющая комбинацию клавиш, которая должна быть нажата. В этой строке можно также указывать специальные клавиши, используя следующие коды:

Методы

Выполняемые действия

OnRepeat и OnUndo

  • <Backspace> — {BACKSPACE} или (BS)
  • <Break> — {BREAK}
  • <Caps Lock> — {CAPSLOCK}
  • <Delete> или <Del> — {DELETE} или {DEL}
  • <вниз>— {DOWN}
  • <End> — {END}
  • <Enter> (цифровая клавиатура) — {ENTER}
  • <ESC> — {ESCAPE}или {ESC}
  • <Home> — {HOME}
  • <lns>или <lnsert>— {INSERT}
  • <<-> — {LEFT}
  • <Num Lock> — {NUMLOCK}
  • <Page Down> — {PGDN}
  • <Page Up> — {PGUP}
  • <Return> — {RETURN}
  • <->> — {RIGHT}
  • <Scroll Lock> — {SCROLLLOCK}
  • <Tab>- {TAB}
  • <вверх>- {UP}
  • ОТ <F1> до<F15> — ОТ {F1}до{F15}

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

  • <Shift> - +
  • <Ctrl> ^
  • <Alt>-%

В примере процедуре Амортизация назначена комбинация клавиш <Ctrl>+<+>, а процедуре ПроцентнаяСтавка — <Shift>+<Ctrl>+<->.>:

Application. OnKey "^{+}", "Амортизация"

Application. ОпКеу "+^ {RIGHT}", "ПроцентнаяСтавка"

Определяет процедуру, выполняемую при выборе команды Правка, Повторить (Edit, Repeat) и Правка, Отменить (Edit, Undo) соответственно.

Методы

Выполняемые действия

 

 

 

 

 

 

OnTime

 

 

 

 

 

 

 

 

 

 

Quit

Синтаксис:

OnRepeat (Text, Procedure)

OnUndo (Text, Procedure)

  • Text — строка, задающая текст команды Правка, Повторить (Edit, Repeat)

Procedure — имя подпрограммы, выполняемой при выборе команды Правка, Повторить (Edit, Repeat)

Назначает выполнение процедуры на определенное время. Синтаксис:

OnTime (EarliestTime, Procedure, LatestTime, Schedule)

  • EarliestTime — момент запуска процедуры
  • Procedure — имя процедуры
  • batestTime — если на момент запуска процедуры, Excel не может ее запустить в силу того, что выполняется другое действие, то параметр LatestTime определяет последнее время ее запуска. Если этот аргумент опущен, то Excel будет ждать до тех пор, пока не сможет выполнить эту процедуру
  • Schedule — допустимые значения: True (выполнение процедуры откладывается на сутки) и False (во всех остальных случаях)

В следующем примере демонстрируется, как запустить процедуру Очистка на выполнение через 15 секунд от текущего времени:

Application. OnTime Now +_ TimeValue ("00:00:15"), "Очистка" Закрывает приложение.

Например:

Application. Quit

События объекта Application

Событие Когда возникает событие
NewWorkbook При создании новой рабочей книги
WorkbookActivate При активизации рабочей книги
WorkbookBeforeClose Перед закрытием рабочей книги
WorkbookBeforePrint Перед печатью рабочей книги
WorkbookBeforeSave Перед сохранением рабочей книги
WorkbookNewSheet При добавлении нового листа в рабочую книгу
WorkbookOpen При открытии рабочей книги
WorkbookDeactivate Когда активная книга теряет фокус
к оглавлению   ООП 3GL к 4GL - визуальному программированию

Знаете ли Вы, в чем фокус эксперимента Майкельсона?

Эксперимент А. Майкельсона, Майкельсона - Морли - действительно является цирковым фокусом, загипнотизировавшим физиков на 120 лет.

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

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

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

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution