дополнительных элементов управления

Мы разглядели стандартные элементы управления, которые вначале помещены на панель ToolBoxи доступны для размещения в формах. Но способности форм VBA этим не ограничиваются. В вашем распоряжении — сотки и тыщи частей управления, интегрированных в Windows, в другие продукты либо поставляемые раздельно (в том числе третьими фирмами). Для того чтоб можно было расположить дополнительных элементов управления их на форме, щелкните правой кнопкой мыши по пустому месту в ToolBox,изберите пункт контекстного меню Additional Controls,а потом в перечне изберите подходящий элемент. Правда, при использовании необычных частей управления нужно держать в голове, что при переносе программки (файла Office) на другой компьютер вам будет нужно обеспечить на дополнительных элементов управления нем наличие нужных библиотек.

Очень нередко в программках употребляются дополнительные элементы управления Internet Explorer, Acrobat Reader, Календарь, проигрыватели аудио- и видеофайлов и т. п. К примеру, чтоб расположить на форме отран управления Microsoft Web Browser (в русифицированной версии Windows он именуется Обозреватель веб-страниц (Microsoft)),который представляет окно Internet Explorer дополнительных элементов управления, необходимо выполнить последующие деяния:

r щелкнуть правой кнопкой мыши по пустому месту в окне Toolbox и в контекстном меню избрать Additional Controls;

r в открывшемся перечне избрать Microsoft Web Browser (либо Обозреватель веб-страниц (Microsoft));

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

Дальше необходимо позаботиться о программном коде для этого элемента управления. Сделанный нами на форме отран управления по дефлоту будет называться WebBrowser1. Можно избрать хоть какое из доступных событий этого элемента управления, а можно использовать этот отран управления и в событиях других объектов. К примеру, если нам необходимо, чтоб дополнительных элементов управления при открытии формы в окне Internet Explorer на ней раскрывалась определенная страничка, можно пользоваться событием Initialize для формы. Соответственный код может быть таким:

Private Sub UserForm_Initialize()

WebBrowser1.Navigate "http://www.Asklt.ru"

End Sub

Достоинства использования этого элемента управления явны — вы сможете расширить функциональность собственной формы за счет использования дополнительных элементов управления Web-страниц (к примеру, с формами HTML). Internet Explorer обычно установлен на любом компьютере под управлением Windows и потому с этим элементом управления не появляется никаких заморочек при переносе програм­мы на другой компьютер. Справку по этому элементу управления придется глядеть в MSDN.

Очередной нередко применяемый отран управления дополнительных элементов управления, который есть фактически на всех компьютерах— Сalendar (календарь) (рис. 5.11). Зависимо от версии вашей операционной системы и установленного программного обеспечения он может называться по-разному, у меня на компьютере он именуется Calendar Control 8.0.С помощью этого элемента управления юзеру будет очень комфортно выбирать подходящую дату.

Рис. 5.11. Отран управления дополнительных элементов управления Calendar и надпись, дублирующая значение,
выбранное юзером в Calendar

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

В Excel на панели ToolBoxимеется очередной специфичный отран управления — RefEdit (в перечне Additional Controlsон именуется как RefEditCtrl).Он похож на текстовое поле с дополнительных элементов управления кнопкой справа. При нажатии на эту кнопку форма, на которой расположен этот отран управления, "скроется", а юзеру будет предоставлена возможность избрать одну ячейку либо спектр ячеек Excel. После того как юзер окончит выбор, он снова возвратится в окно формы, а в RefEdit будет помещена информация об адресе избранного спектра дополнительных элементов управления. Таковой же адресок, естественно, можно вводить и вручную. Главное свойство этого элемента управления — Value.

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

Задание для самостоятельной работы 5:

Работа с органами управления

Подготовка:

1. Сделайте новейшую книжку Excel и дополнительных элементов управления сохраните ее как Prikaz.xls. Заполните ячейки с А1 по А5 значениями, подобными представленным на рис. 5.12. Данные о сотрудниках лучше ввести в родительном падеже, так как эти значения будут подставляться в автоматом создаваемый приказ в формате документа Word.

Рис. 5.12. Перечень служащих на листе Excel

2. Откройте редактор Visual Basic и дополнительных элементов управления в окне Project Explorer щелкните правой кнопкой мыши по объекту Эта книгаи в контекстном меню изберите View Code.

3. В окне редактора кода для этой книжки введите последующий код:

'При открытии рабочей книжки показываем форму UF1

Private Sub Workbook_Open()

UF1.Show

End Sub

'Особая процедура, которая печатает приказ в Word

Public Sub DocWrite дополнительных элементов управления(sPovod As String, sFio As String, bFlagPremia As

Boolean, bFlagGramota As Boolean, nSummaPremii As Long, sOtvIsp As

String)

Dim oWord As Word.Application

Dim oDoc As Word.Document

Set oWord = CreateObject("Word.Application")

Set oDoc = oWord.Documents.Add()

oWord.Visible = True

oDoc.Activate

With oWord.Selection

.TypeText "Приказ"

.Style = "Заголовок 1"

.ParagraphFormat.Alignment = wdAlignParagraphCenter

.TypeText vbCrLf

.Style дополнительных элементов управления = "Обыденный"

.TypeText vbCrLf

.TypeText "г.Санкт-Петербург" & Space(90) & Date

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText "За проявленные успехи в " & sPovod &_

" вознаградить " & sFio & ":"

.TypeText vbCrLf

If bFlagPremia Then

.TypeText vbTab & "- валютной премией в сумме " &_

nSummaPremii & " рублей"

End If

If bFlagGramota Then

.TypeText vbCrLf

.TypeText vbTab & "- почтенной грамотой.

" Else

.TypeText "."

End If

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText "Генеральный директор" & vbTab & vbTab &_

vbTab & "Иванов И. И дополнительных элементов управления."

.ParagraphFormat.Alignment = wdAlignParagraphCenter

.TypeParagraph

.TypeText vbCrLf

.TypeText vbCrLf

.ParagraphFormat.Alignment = wdAlignParagraphLeft

.TypeText Text:={"Отв. исполнитель " & sOtvIsp) .TypeParagraph

End With

End Sub

4. В окне Project Explorer щелкните правой кнопкой мыши по проекту Prikaz.xls и в контекстном меню изберите Insert | UserForm. Выделите сделанный вами объект формы и нажмите кнопку . В окне Properties введите для характеристики Name этой дополнительных элементов управления формы значение ufi.

Расположите на форму из Toolbox единственную кнопку — отран управления CommandButton1. Установите для этой кнопки значение характеристики Caption как "напечатать приказ" (без кавычек) и измените размеры и местопребывание этой кнопки, чтоб форма смотрелась так, как показано на рис. 5.13.

Рис. 5.13. Заготовка для формы с единственной кнопкой

5. Щелкните правой дополнительных элементов управления кнопкой мыши по кнопке CommandButton1 на вашей форме, в контекстном меню изберите View Code и добавьте в код событийной процедуры для действия Click этой кнопки последующий код:

Private Sub CommandButtonl_Click()

Dim sPovod As String

Dim sFio As String

Dim bFlagPremia As Boolean

Dim bFlagGramota As Boolean

Dim nSummaPremii As Long

Dim sOtvIsp As String

'Подставить данные из дополнительных элементов управления формы

sPovod = "освоении новых информационных технологий"

sFio = "Иванова Ивана Ивановича"

bFlagPremia = True

bFlagGramota = True

nSummaPremii = 100000

sOtvIsp = "Петрова П. П."

'Конец подстановки данных

Call ЭтаКнига.DocWrite(sPovod, sFio, bFlagPremia, bFlagGramota, nSummaPremii, sOtvIsp)

End Sub

6. Запустите вашу форму на выполнение и удостоверьтесь, что она работает: выводит в создаваемый документ Word приказ с фиксированными значениями дополнительных элементов управления.

ЗАДАНИЕ:

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

1. Значение переменной sPovod должно выбираться из 3-х вероятных значений: "освоении новых информационных технологий", "внедрении новых программных товаров" и значение, которое юзер может ввести дополнительных элементов управления через текстовое поле. Используйте для этого набор из 3-х тумблеров и текстовое поле (оно должно быть спрятано, если юзер избрал один из первых 2-ух тумблеров). По дефлоту должно подставляться "освоении новых информационных технологий".

2. Значение переменной sFio должно выбираться юзером с помощью комбинированного cписка. В этот комбинированный перечень должны дополнительных элементов управления автоматом помещаться значения из всех непустых ячеек столбца А листа Excel. По дефлоту должно выбираться значение "Иванова Ивана Ивановича".

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

3. Значения переменных bFlagPremia и bFlagGramota должны устанавливаться зависимо от состояния 2-ух флагов— "Премия" и "Грамота". По дефлоту оба флага дополнительных элементов управления должны быть установлены. Если юзер снял оба флага,- то ему должно выводиться предупреждающее сообщение "Не выбрана ни премия, ни знатная грамота!" с отменой вывода документа.

4. Юзер обязан иметь возможность задавать значение переменной nSummaPremii или с помощью полосы прокрутки с спектром значений от 0 руб. до 100 000 руб., или с помощью дополнительных элементов управления текстового поля. Если флаг "Премия" снят, то полоса прокрутки и текстовое поле должны быть спрятаны от юзера.

Ход полосы прокрутки (повышение либо уменьшение значения при щелчке на кнопках со стрелками) должен быть равен 100 руб.

По дефлоту размер премии должен быть равен 100 руб.

5. Расположите на форму еще одну дополнительных элементов управления кнопку Отмена. Эта кнопка должна закрывать текущую форму и срабатывать при нажатии кнопки .

6. В заголовке формы должно выводиться значение "Формирование приказа о выплате премии".

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

Рис. 5.14. Готовая форма

Ответ к заданию 5

К пт 1 задания (работа с тумблерами и текстовым полем дополнительных элементов управления):

1. В окне Project Explorer дважды щелкните мышью по объекту формы UF1. Потом в ToolBox щелкните по объекту Label и отведите место этому элементу управления в высшей части формы. Щелкните правой кнопкой мыши по сделанному элементу управления Label1 и в контекстном меню изберите Properties. Измените значение характеристики Caption на "За что дополнительных элементов управления:" и с помощью характеристики Font подберите подходящий шрифт и его размер.

2. В ToolBox щелкните по элементу управления OptionButton и отведите на форме место этому элементу управления. Повторите эту операцию еще дважды.

3. Откройте характеристики первого тумблера. Измените значение характеристики Name на optOsvoenie, а значение характеристики Caption — на "освоение новых информационных технологий". Для дополнительных элементов управления второго тумблера поменяйте значение свойстваName на optVnedrenie и свойствоCaption— на "внедрение новыхпрограммных товаров", для третьего— на optDrugoe и "другое:" соответственно.

4. В ToolBox щелкните по элементу управления TextBox и расположите его в необходимое место формы. Установите для характеристики Name этого элемента управления значение txtDrugoe.

5. Щелкните правой кнопкой мыши по дополнительных элементов управления пустому месту на форме и в контекстном меню изберите View Code. В перечне событий в высшей части окна редактора кода изберите событие Initialize для UserForm и введите для него последующий код:

optOsvoenie.Value = True

txtDrugoe.Visible = False

6. Для действия Change тумблера optDrugoe введите последующий код:

If optDrugoe.Value = True Then

txtDrugoe дополнительных элементов управления.Visible = True

Else

txtDrugoe.Visible – False

End If

7. Перейдите к коду действия Click для CommandButton1 и заместо строчки:

sPovod = "освоении новых информационных технологий"

введите последующий код:

If optOsvoenie.Value = True Then sPovod = _

"освоении новых информационных технологий"

If optVnedrenie.Value = True Then sPovod = _

"внедрении новых программных товаров"

If optDrugoe.Value = True Then sPovod = txtDrugoe.Value

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

К пт 2 задания (работа с комбинированным перечнем):

1. Разместите на форме очередной отран управления Label с надписью "Кого : " и настройте для него шрифт.

2. Щелкните в Toolboxпо элементу управления ComboBox и выделите для него место на дополнительных элементов управления форме. Присвойте сделанному элементу управления ComboBox имя sFio.

3. Откройте код для действия Initialize нашей формы UserForm и дополните его последующими строчками:

Dim oColumn As Range

Dim oCell As Range

Set oColumn = Columns("A")

For Each oCell In oColumn.Cells

If oCell.Value о "" Then

cbFIO.Addltem oCell.Value

End If

Next cbFIO.Listlndex = 0

4. Перейдите к коду действия Click дополнительных элементов управления для CommandButton1 и заместо строчки:

sFio = "Иванова Ивана Ивановича"

введите последующий код:

sFio = cbFIO.Value

5. Запустите форму на выполнение и удостоверьтесь, что все работает нормально.

К пт 3 задания (работа с флагами):

1. С помощью ТооШохпоместите на форму два элемента управления СheckBox. Для первого элемента свойству Name присвойте значение СhPremia и дополнительных элементов управления для характеристики Caption — значение "Премия", для второго — chGramota и "Знатная грамота" соответственно.

2. Откройте код действия Initialize формы UserForm и дополните его сле­дующими строчками:

chPremia.Value = True

chGramota.Value = True

3. Перейдите к коду действия Сlick для CommandButton1 и заместо строк:

bFlagPremia = True bFlagGramota = True

введите последующий код:

bFlagPremia = chPremia.Value

bFlagGramota = chGramota.Value

If дополнительных элементов управления bFlagPremia = False And bFlagGramota = False Then

MsgBox "He выбрана ни премия, ни знатная грамота!" Exit Sub

End If

4. Запустите форму на выполнение и удостоверьтесь, что все работает нормально.

К пт 4 задания (применение полосы прокрутки и дублирующего текстового поля):

1. Расположите на форму очередной отран управления Label с надписью

"Сумма премии:". Присвойте его свойству Name дополнительных элементов управления значение lblSum.

2. Расположите рядом текстовое поле и присвойте его свойству Name значение txtSum.

3. Разместите под текстовым полем отран управления ScrollBar и присвойте последующие значения его свойствам:

· Name — значение sbSum;

· Min — значение 0;

· Мах — значение 100 000;

· SmallChange — значение 100.

4. Для действия Change элемента управления sbSum введите последующий код:

txtSum.Value = sbSum.Value

5. Для действия дополнительных элементов управления change элемента управления txtSum введите последующий код:

sbSum.Value = CLng(txtSum.Value)

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

6. Для действия Initialize нашей формы UserForm добавьте последующий код:

sbSum.Value = 100

txtSum.Value = 100

7. Для действия Change элемента управления chPremia добавьте последующий код:

If chPremia.Value = False Then

lblSum.Visible = False

txtSum. Visible = False

sbSum.Visible = False

Else

lblSum.Visible = True

txtSum. Visible = True

sbSum.Visible = True

End If

8. Для кода Click кнопки CommandButtonl дополнительных элементов управления заместо кода: nSummaPremii = 100000

вчеркните код: nSummaPremii = sbSum.Value

9. Запустите форму на выполнение и удостоверьтесь, что все работает нормально.

К пт 5 задания (применение кнопки):

1. Разместите на поле еще одну кнопку и настройте значения ее параметров последующим образом:

· Name — значение btnEscape;

· Caption — значение "Отмена";

· Cancel — значение True.

2. Для действия click дополнительных элементов управления этой кнопки расположите код

Unload Me

К пт 6 задания (изменение заголовка формы):

1. Щелкните правой кнопкой мыши по пустому месту на форме и в контекстном меню изберите Properties.

2. Для характеристики Caption настройте значение "Формирование приказа о выплате премии".

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

Программирование в Excel

11.1. Для чего дополнительных элементов управления программировать в Excel

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

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

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

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

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

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

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

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

По сопоставлению с программным перемещением по документам Word навигацию по книжкам и листам Excel создавать намного удобнее, так как каждой ячейки есть собственный адресок (и даже два адреса— в формате А1 и в формате R1C1). Не считая дополнительных элементов управления того, в Excel есть возможность присваивать имена спектрам ячеек, что также очень комфортно.

Иерархия стандартных объектов в Excel незначительно больше. Если в Word все выстроено вокруг 3-х объектов: Application— Document — Range, другими словами Excel возникает новый элемент— лист, потому основная его иерархия смотрится последующим образом: Application— Workbook (книжка)— Worksheet (лист дополнительных элементов управления) — Range (спектр).

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

В Excel встроено несколько практически наружных приложений, внедрение • оторых дополнительных элементов управления может быть очень комфортным. К примеру, сводная таблица (объект PivotTable)— встроенный в Excel OLAP-клиент полученной Microsoft конторы Panorama Software, QueryTable— особый объект для работы с информацией из базы данных, объект Chart— средство работы с диаграммами и т. п.

11.2. Объект Application

Как и в Word, объект Application в Microsoft Excel представляет все дополнительных элементов управления приложение Excel и находится на самом верхнем уровне объектной модели Excel. Если вам будет нужно вызвать Excel из другого приложения, вам необходимо будет сделать объект Excel.Application (не забудьте при всем этом с помощью меню Tools | Referencesдобавить ссылку на библиотеку Microsoft Excel 11.0 Object Library). Создание этого объекта дополнительных элементов управления может смотреться так:

Dim oExcel As New Excel.Application

oExcel.Workbooks.Add

oExcel.Visible = True

Точно так же, как и в Word, если вы работаете из уже запущенного Excel, создавать объект Application вам не будет нужно. Он будет доступен всегда. Если вы обращаетесь к какому-либо свойству без указания вышестоящего объекта, то дополнительных элементов управления редактор Visual Basic в Excel будет считать, что вы обращаетесь к свойству объекта Application. Потому эти две строчки кода в Excel равноначны:

Application.Workbooks.Add

И

Workbooks.Add

Вообщем объекты Application в большинстве приложений Office очень похожи меж собой, и к ним используются те же суждения, что и для объекта Word.Application. Точно так дополнительных элементов управления же многие разработчики считают, что удобнее и надежнее работать со сокрытым окном Excel, что открывать новый экземпляр Excel удобнее, чем разыскивать уже открытый юзером. Для того чтоб в окне редактора кода для форм появился объект Application, точно так же нужно в разделе Declarations кода формы объявить дополнительных элементов управления объект Application с главным словом WithEvents, к примеру, так:

Public WithEvents App As Excel.Application

В данном случае в окне редактора кода для форм у вас появится новый объект Арр, и вы можете использовать событийные процедуры объекта Application (рис. 11.1).

Рис. 11.1. В перечне объектов появился новый объект Арр со своим набором событий

11.3. Характеристики и дополнительных элементов управления способы объекта Application

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

Сначала о свойствах объекта Application.

r Характеристики с префиксом Active... — возвращают активную ячейку (ту, на которую показывает курсор ввода данных), активную диаграмму, активный лист, активную книжку либо активное окно. Все эти характеристики доступны толь­ко для чтения. Фактически говоря, использовать их для сотворения дополнительных элементов управления объектов совершенно не непременно — объекты ActiveCell, ActiveSheet и т. п. создаются автоматом во время работы приложения и доступны всегда. Мало отличается свойство ActivePrinter — оно позволяет не только лишь возвратить, да и установить активный принтер.

r Addins — возвращает одноименную коллекцию надстроек (объектов Addin). В отличие от Word, где почти всегда применение надстроек дополнительных элементов управления создано для проф программистов, в Excel работа с этим объектом имеет практическое значение для многих юзеров. Совместно с Excel поставляется несколько очень нужных надстроек (на графическом экране они доступны через меню Сервис | Надстройкинапример, Мастер подстановок, Пакет анализа, Поиск решенияи т. п С помощью этой коллекции можно проверить дополнительных элементов управления, подключена ли юзером подходящая надстройка (если она нужна в вашей программке) и в случае необходимости подключить ее автоматом.

r AutoRecover — возвращает одноименный объект, который позволяет найти характеристики автосохранения Excel. К примеру, чтоб открытые документы Excel автоматом сохранялись каждые 5 минут, можно использовать код:

Application.AutoRecover.Time =5

Время указывается в минутках, можно использовать значения дополнительных элементов управления в интервале от 1 до 120. На графическом экране то же самое можно сделать с помощью меню Сервис | Параметрына вкладке Сохранениеокна Характеристики.

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

r CalculationState — позволяет проверить, занимается ли дополнительных элементов управления Excel пересчетом данных либо пересчет уже завершен.

r Cells — одно из важнейших параметров объекта Application. Оно возвращает объект Range, представляющий из себя все ячейки в активном листе активной книжки. Так как свойство по дефлоту (т. е. свойство, заглавие которого можно опускать) для объекта Range — это свойство Item дополнительных элементов управления, то воззвание к ячейкам активного листа может смотреться так:

Application.Cellsd(1, 2).Font.Bold = True

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

Очень похоже действуют характеристики Сolumns и Rows. К примеру, чтоб сделать схожую операцию со всем вторым столбцом, можно использовать команду вида:

Application.Columns(2).Font дополнительных элементов управления.Bold = True

а для 2-ой строчки можно пользоваться похожей командой:

Application.Rows(2).Font.Bold = True

Снова отметим, что характеристики Сells, Сolumns и Rows возвращают совсем не наборы объектов Cell, Column и Row, как считают многие юзеры, а наборы объектов Range. На использовании объекта Range построена в Excel практически дополнительных элементов управления вся работа с ячейками и их значениями. Дальше в этой главе объект Range будет посвящен отдельный разд. 11.6.

r Cursor — это свойство позволяет поменять внешний облик указателя мыши в Excel (у объекта Application в Word этого характеристики почему-либо нет). Обычно перед выполнением длинноватой расчетной операции курсору присваивают вил песочных дополнительных элементов управления часов (xlWait), а позже возвращают назад. Автоматом по окончанию работы макроса курсор не ворачивается к нормальному виду, потому необходимо предугадать соответственный код.

r DataEntryMode — очень увлекательное свойство, которое может уберечь юзера от огромного количества ошибок. Оно позволяет перейти в режим ввода данных (data entry mode), когда юзеру разрешается только вводить дополнительных элементов управления данные в разблокированные ячейки избранного спектра. Всего в вашем распоряжении три варианта: хlOn— включить этот режим, xlStrict — включить и сделать так, чтоб юзер не мог из него выйти с помощью кнопки , xlOff — отключить режим.

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

Application.UseSystemSeparators = False

r Dialogs — возвращает одноименную коллекцию Dialog, которую можно использовать для отображения диалоговых окон Excel (их предвидено дополнительных элементов управления несколько сотен) и определять реакцию на деяния в их юзеров. На этот объект очень похож объект FileDialog, представляющий окна, предназначенные только для работы с файлами (к примеру, окно открытия файла). Работа с ними смотрится точно так же, как в Word.

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

r EnableEvents — позволяет на время отключить дополнительных элементов управления действия для объекта Application, чтоб они не срабатывали (обычно перед выполнением како­го-то деяния — открытия файла, сохранения и т. п.).

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

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

Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False

Application.FileDialog(msoFileDialogOpen).Show

Debug.Print Application.FileDialog(msoFileDialogOpen).Selectedltems(1)

Схожий пример с возможностью выбора сходу нескольких файлов при­веден в справке по этому свойству.

r FileSearch — это свойство позволяет провести поиск дополнительных элементов управления по обозначенному вами каталогу и вывести итог.

r Interactive — позволяет вполне заблокировать ввод в приложение Excel со стороны юзера (как клавиатуру, так и мышь). Обычно употребляется, чтоб юзер не сумел помешать работе приложения, к примеру, сбить выделение. Это свойство можно также использовать, если ввод юзера делается из другого дополнительных элементов управления приложения, взаимодействующего с Excel.

r International и LanguageSettings — работают точно так же, как и в Word.

r LibraryPath— возвращает путь к каталогу, где лежат файлы надстроек Excel с расширением xla. По дефлоту \Office11\Library.

r MoveAfterReturn— позволяет включить либо отключить переход на последующую ячейку после окончания ввода данных и нажатия дополнительных элементов управления (по дефлоту включен), а свойство MoveAfterReturnDirection позволяет оп­ределить направление перехода. В неких ситуациях это может очень упростить ввод данных юзером. К примеру, чтоб переход происходил на ячейку справа, можно использовать команду:

Application.MoveAfterReturnDirection = xlToRight

r Names — возвращает коллекцию Names, представляющую собой все именованные спектры в активной рабочей книжке дополнительных элементов управления. С помощью способа Add о коллекции Names вы сможете также сами определять в рабочей книжке свои именованные спектры. На практике именованные спектры работают приблизительно так же, как закладки в Word — с помощью их очень комфортно определять наборы данных в сложных таблицах Excel. На графическом экра­не в Excel найти именованные спектры дополнительных элементов управления можно с помощью меню Вставка| Имя.

r ODBCErrors и OLEDBErrors — позволяют получить информацию о возник­ших ошибках при подключении к базам данных ODBC и OLE DB соответственно. Они возвращают .одноименные коллекции, которые состоят из объектов ODBCEггог и OLEDBError соответственно, которые и содержат информацию об ошибке.

r OnWindow — это свойство больше дополнительных элементов управления похоже на событие. В качестве его значения указывается имя процедуры, которая должна находиться в модуле уровня книжки (по дефлоту таковой модуль не создается, его необходимо сделать вручную). Эта процедура будет вызываться каждый раз, когда юзер переключился в окно Excel (не принципиально какой книжки и какого листа). Заместо этого дополнительных элементов управления характеристики можно использовать макросы со особыми: именами Auto_Activate и Auto_Deactivate (если вы обусловили и то, и другое, первой отработает процедура, определенная с помощью характеристики OnWindow).

r Range — очень принципиальное свойство. Возвращает объект Range, который представляет собой спектр ячеек и употребляется в Excel фактически для всех операций с ячейками дополнительных элементов управления.

r Referencestyle — позволяет переключать режим отображения ячеек меж А1 (буковкы— столбцы, числа— строчки) и R1C1 (когда и строчки, столбцы обозначаются цифрами). На графическом экране это можно сделать через меню Сервис | Параметрына вкладке Общиеокна Характеристики,установив либо сбросив флаг Стиль ссылок R1C1.На практике юзерам поближе стиль вида дополнительных элементов управления А1, а программерам, естественно, R1C1. (в особенности в тех ситуациях, когда столбцов сильно много и приходится использовать столбцы АА, АВ и т. п.). В почти всех ситуациях перед выполнением некий программной операции бывает комфортно сначала перевести, режим отображения в R1C1, а после окончания на дополнительных элементов управления удовлетворенность юзерам возвратить его назад. Можно этим и не заниматься, а использовать другие методы для отсчета определенного количества столбцов.

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

r Sheets — это свойство мы будем подробнее разбирать в разд. 11.5, посвященном книжкам Excel. Оно возвращает коллекцию sheets — набор листе книжки и набор диаграмм, которые находятся на отдельных листах. Если употребляется свойство Worksheets, то дополнительных элементов управления возвратится та же коллекция Sheets, но уже состоящая только из объектов Worksheet — обыденных листов (без диаграмм).

r TempiatesPath — свойство для чтения, с помощью которого можно получить информацию о каталоге с шаблонами Excel (к примеру, для размещения собственного шаблона либо открытия шаблона из этого каталога). По дефлоту дополнительных элементов управления употребляется каталог Application Data\Microsoft\Templates в профиле юзера.

r ThisCeil и ThisWorkbook— очень комфортные характеристики, которые позволяют обращаться к текущей ячейке и к текущей книжке, не обременяя себя созданием объектных переменных. Эти объекты создавать не надо — они и так вначале есть в работающем Excel.

r Windows, Workbooks и Sheets — возвращают дополнительных элементов управления, соответственно, все открытые окна, книжки и листы Excel. Про объекты рабочей книжки и листа мы будем гласить в разд. 11.5.

r WorkSheetFunction— позволяет использовать в программке на VBA функции Excel впрямую, без необходимости прописывать их в какую-либо ячейку.

Важнейшие способы объекта Excel.Application перечислены дальше.

r ActivateMicrosoftApp () — особый способ дополнительных элементов управления, который предназначен для пуска и активизации (либо просто активизации, если приложение уже было запущено) приложений Office (Word, Access, PowerPoint) и неких других (Project, FoxPro, Schedule Plus).

r AddCustomList() — делает новый пользовательский перечень. В качестве параметра воспринимает или объект Range (элементами перечня станут те значения, которые есть в спектре), или стандартный дополнительных элементов управления объект Array. Удалить перечень можно с помощью способа DeleteCustomList().

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

r ConvertFormula() — преобразовывает формулу 2-мя методами: или переводит адресацию ячеек в другой режим (к примеру, заместо А1 в R1C1), или меняет абсолютные ссылки на относительные и напротив. В качестве параметра воспринимает, строковую переменную с текстом формулы дополнительных элементов управления (должна начинаться с знака '=') и флаги конвертации.

r DoubleСlick() — этот способ эквивалентен двойному щелчку мышью на активной ячейке, т. е. переход в режим ввода данных в эту ячейку.

r Evaluate() — очень нужный и нередко применяемый способ. Позволяет по имени отыскать объект книжки Excel и конвертировать его в объект дополнительных элементов управления либо значения для предстоящего использования. В качестве имен этот способ может принимать:

• имена ячеек в стиле А1 (ворачивается объект cell);

• имена диапазонов (ворачивается объект Range);

• имена, определенные в макросе (в большинстве случаев наименования переменных);

• ссылки на наружные книжки, к примеру:

Evaluate("[Bookl.xls]Sheet1!A5"))

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

[al].Value = 25

Evaluate("Al").Value = 25

Так как синтаксис с квадратными скобками короче, в большинстве случаев употребляется конкретно он.

Таким макаром, способ Evaluate о — это самый обычный и естественный способ обратиться к ячейке либо спектру дополнительных элементов управления в собственной либо чужой книжке Excel.

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

Filename = Application.GetOpenFilename()

If Filename дополнительных элементов управления False Then

Debug.Print Filename

End If


dopolnitelnie-istochniki-informacii-uchebno-metodicheskij-kompleks-disciplini-ds-f-06-marketing-v-otraslyah-i-sferah.html
dopolnitelnie-komandi-utiliti.html
dopolnitelnie-materiali-e2e-proekti-po-sistemnomu-analizu-i-modelirovaniyu.html