к оглавлению   ООП 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 - визуальному программированию

Знаете ли Вы, в чем ложность понятия "физический вакуум"?

Физический вакуум - понятие релятивистской квантовой физики, под ним там понимают низшее (основное) энергетическое состояние квантованного поля, обладающее нулевыми импульсом, моментом импульса и другими квантовыми числами. Физическим вакуумом релятивистские теоретики называют полностью лишённое вещества пространство, заполненное неизмеряемым, а значит, лишь воображаемым полем. Такое состояние по мнению релятивистов не является абсолютной пустотой, но пространством, заполненным некими фантомными (виртуальными) частицами. Релятивистская квантовая теория поля утверждает, что, в согласии с принципом неопределённости Гейзенберга, в физическом вакууме постоянно рождаются и исчезают виртуальные, то есть кажущиеся (кому кажущиеся?), частицы: происходят так называемые нулевые колебания полей. Виртуальные частицы физического вакуума, а следовательно, он сам, по определению не имеют системы отсчета, так как в противном случае нарушался бы принцип относительности Эйнштейна, на котором основывается теория относительности (то есть стала бы возможной абсолютная система измерения с отсчетом от частиц физического вакуума, что в свою очередь однозначно опровергло бы принцип относительности, на котором постороена СТО). Таким образом, физический вакуум и его частицы не есть элементы физического мира, но лишь элементы теории относительности, которые существуют не в реальном мире, но лишь в релятивистских формулах, нарушая при этом принцип причинности (возникают и исчезают беспричинно), принцип объективности (виртуальные частицы можно считать в зависимсоти от желания теоретика либо существующими, либо не существующими), принцип фактической измеримости (не наблюдаемы, не имеют своей ИСО).

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

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

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

Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в 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