Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы к ОП.doc
Скачиваний:
6
Добавлен:
21.08.2019
Размер:
950.27 Кб
Скачать

Объект.Свойство

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

ActiveCell.Value

Более всего новичка может запутать тот факт, что некоторые свойства объектов сами в свою очередь могут выступать в качестве объектов. Так, например, объект Application имеет свойство ActiveWindow, которое показывает, какое окно является активным в настоящий момент. В то же время ActiveWindow, как уже упоминалось, является объектом семейства Windows, который может иметь свойство ActiveCell, в свою очередь являющееся объектом класса Range. Далее, ActiveCell имеет свойство Font, также являющееся объектом, имеющим такие свойства, как Name,

Size или Bold. Таким образом, возникает иерархия свойств-объектов, аналогичная иерархии "чистых" объектов. При ссылке на свойства нижних уровней могут использоваться иерархические ссылки вроде следующей:

ActiveWindow.ActiveCell.Font.Size

Обычно при обращении к свойству или объекту не требуется полностью задавать весь иерархический путь, часто годится действующий по умолчанию путь, а может использоваться и специальный оператор With для уточнения пути сразу для группы операторов.

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

Объект Application

  1. ActiveWindow – Активное окно

  2. ActiveWorkbook – Активная рабочая книга

  3. ScreenUpdating – Режим обновления экрана (при выполнении процедуры для ускорения работы можно приостановить обновление отображаемых данных, и снова включить обновление перед выходом из процедуры)

  4. StandardFont – Имя стандартного шрифта для новых рабочих листов

Объект Workbook (элемент из семейства Workbooks)

  1. ActiveSheet – Активный рабочий лист

  2. FullName – Полное имя рабочей книги, включая путь

  3. Name – Имя рабочей книги

  4. Saved – Признак того, что состояние рабочей книги сохранено на диске (имеет логическое значение False, если в книге были сделаны изменения)

Объект Worksheet

  1. Name – Имя рабочего листа

  2. OnSheetActivate – Имя процедуры, вызываемой при активизации рабочего листа пользователем

  3. Previous – Предыдущий рабочий лист

  4. ProtectContents – Режим защиты содержимого ячеек рабочего листа

  5. Visible Режим видимости рабочего листа (скрыт или показан)

Есть два способа использования свойств объектов: можно либо получить текущее значение свойства, либо изменить свойство (то есть задать новое значение для этого свойства). При изменении свойства необходимо указать сначала имя объекта, а затем имя свойства, использовав в качестве разделителя точку, затем следует оператор присваивания ( = ) и новое значение:

Объект.Свойство = новоеЗначение

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

  1. Числовое значение. Например, при установлении размера шрифта может использоваться следующий оператор:

ActiveCell.Font.Size = 14

  1. Строка символов. Строковые значения заключаются в двойные кавычки. Вот пример изменения используемого шрифта:

ActiveCell.Font.Name = "Courier New Cyr"

  1. Логическое значение. Обратите внимание, что в VBA используется обозначение True и False, в отличие от функций рабочего листа, где используется обозначение ИСТИНА и ЛОЖЬ. Вот пример изменения начертания шрифта (применение курсива):

ActiveCell.Font.Italic = True

25 Методы иерархических объектов Visual Basic for Application в Microsoft Office Excel.

Кроме свойств (Properties), объект имеет еще и присущие ему методы (Methods). Если свойство объекта описывает некоторое состояние этого объекта, то метод описывает действия, которые над ним можно выполнить. Например, в рабочем листе — объекте Worksheet — можно произвести перевычисление всех содержащихся на нем формул с помощью метода Calculate.

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

Если аргументы вообще отсутствуют, то синтаксис вызова метода совпадает с ссылкой на свойство:

Объект.Метод

Например, для сохранения рабочей книги может использоваться следующий оператор:

ActiveWorkbook.Save

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

Объект.Метод(аргумент1, аргумент2, ...)

или

Объект.Метод аргумент1, аргумент2, ...

Например, объект класса Range может использовать метод Offset, позволяющий получить новый диапазон ячеек, смещенный относительно первоначального. При этом используется следующий синтаксис:

диапазон.Offset(rowOffset,columnOffset)

где аргументы rowOffset и columnOffset определяют смещение по строкам и столбцам соответственно. Например, следующее выражение представляет собой значение, хранящееся в соседней справа ячейке от текущей активной:

ActiveCell.Offset(0,1).Value

В данном случае метод Offset возвращает объект класса Range, и мы можем воспользоваться свойством Value для ссылки на значение этого объекта.

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

ActiveCell.Offset(columnOffset:=1).Value

Обратите внимание на то, что при этом для указания фактического значения аргумента используется оператор := , а не просто знак равенства.

26 Методы объекта Workbook и семейства Workbooks.

Activate

Активизирует рабочую книгу так, что ее первый рабочий лист становится активным.

Workbook. Activate

Add

Создает новый объект для семейства Workbooks.

Add (Template)

Template — задает шаблон, на основе которого создается новая рабочая книга. Допустимые значения: xlWBATChart, xlWBATExce14IntlMacroSheet, xlWBATExce14MacroSheet или xlWBATWorksheet.

Если аргумент Template опущен, то создается новая рабочая книга с количеством листов, заданных свойством SheetsInNew Workbook

Protect

Защищает рабочую книгу от внесения в нее изменений.

Protect (Password, Structure, Windows)

Password — строка, используемая в качестве пароля для защиты книги

Structure — допустимые значения True (защищена структура книги, т. е. взаимное расположение листов) и False (не защищена)

windows — допустимые значения True (защищено окно книги) и False (не защищено)

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

ActiveWorkbook. Protect Password:= «ВинниПух»

Unprotect

Снятие защиты с рабочей книги.

Unprotect (Password)

Password — строка, используемая в качестве пароля для защиты листа

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

ActiveWorkbook. Unprotect Password: = «ВинниПух «

Close Закрытие рабочей книги

Open Открытие существующей рабочей книги

OpenTextОткрытие текстового файла, содержащего таблицу данных

Save Сохранение рабочей книги

SaveAs Сохранение рабочей книги в другом файле.

SaveAs (Filename)

Filename — строка, указывающая имя файла, в котором будет сохранена рабочая книга

В следующем примере активная рабочая книга сохраняется в файле с именем НоваяВерсия:

ActiveBook. SaveAs Filename: = „НоваяВерсия“

SaveAsCopy Сохранить рабочую книгу в другом файле, оставляя рабочую книгу в памяти с прежним именем.

SaveAs (Filename, FileFormat)

Filename — строка, указывающая имя файла, в котором будет сохранена рабочая книга

В следующем примере активная рабочая книга сохраняется в файле с именем ЗапаснаяВерсия:

ActiveBook. SaveAsCopy Filename: = „ЗапаснаяВерсия“

PrintPreview Предварительный просмотр

Printout Печать содержимого рабочей книги

27 Иерархические объекты Visual Basic for Application в Microsoft Office Word.

На практике для решения большинства программных задач достаточно знать всего лишь пять объектов Word:

  1. объект Application;

  2. объект Document (с коллекцией Documents);

  3. объект Selection;

  4. объект Range;

  5. объект Bookmark (с коллекцией Bookmarks).

Объект Application — это само приложение Microsoft Word. Все остальные объекты Word "вложены" в этот объект. Создать этот объект — значит запустить Word на вашем компьютере.

На одну ступень ниже объекта Application в объектной модели Word (и по логике использования в приложениях) находятся коллекция Documents и объекты Document, из которых она состоит.

После того, как мы запустили приложение, нашли и активизировали нужный нам файл, следующее действие, которые выполняется чаще всего — ввод или редактирование текста в нужном месте. Для этого используются объекты Selection, Range и Bookmark. Каждое из них используется в своих ситуациях и для своих задач.

Обычно перед тем, как что-либо сделать в окне документа Word, пользователь либо выделяет нужный участок текста, либо переставляет указатель вставки текста в нужное место. Объект Selection представляет именно такой выделенный участок текста (а если ничего не выделено, то место, где находится указатель вставки).

Как уже говорилось, чаще всего разработчиками для определения места ввода текста и навигации по документу используется объект Selection. Для этих же целей можно использовать и объект Range. Главное отличие между объектами Range и Selection заключается в том, что объект Selection может определить и пользователь (выделив текст мышью), а объект Range можно определить только программно, и он не зависит от текущего положения указателя или действий пользователя.

Объект Bookmark — это просто закладка. На практике это — самый удобный способ навигации по документам, созданных при помощи шаблонов (например, отчетов). Принципиальное отличие его от объектов Selection и Range заключается в том, что все выделения и диапазоны теряются при закрытии документа (объекты Range вообще существуют только во время работы создавшей их процедуры, а закладки сохраняются вместе с документом. Если документ создан на основе шаблона, то все закладки, которые были определены в шаблоне, будут определены и в созданном на основе этого шаблона документе.

28 Свойства иерархических объектов Visual Basic for Application в Microsoft Office Word.

Объект Application — это само приложение Microsoft Word. Все остальные объекты Word "вложены" в этот объект. Создать этот объект — значит запустить Word на вашем компьютере.

Свойства.

  • ActiveDocument — возвращает объект активного документа в данном экземпляре Word.

  • ActivePrinter — позволяет получить или настроить активный принтер в ходе работы программы. Также используется очень активно, например, если результаты работы вашего приложения необходимо печатать на определенном сетевом принтере.

  • AutomationSecurity — определяет уровень безопасности при программном открытии файлов. По умолчанию установлено значение msoAutomationSecurityLow, что значит — открывать со включенными макросами. Можно также использовать значения msoAutomationSecurityForceDisable — отключить макросы и msoAutomationSecurityByUI — то, что настроено на графическом интерфейсе.

  • BackgroundPrintingStatus — сколько заданий Word стоит в очереди на печать.

  • Build — возвращает версию и номер сборки Word. Очень полезно для проверки на совместимость, если ваше приложение работает только под определенными версиями Word.

Самые важные свойства объекта Document представлены ниже:

  • ActiveWritingStyle — текущий активный стиль (заголовок определенного уровня, обычный текст, гиперссылка и т.п.). Рекомендуется проверить перед вводом текста.

  • AttachedTemplate — возможность подключить шаблон (со всеми макросами, стилями, записями автотекста и т.п.) или проверить, какой шаблон подключен (вручную это можно сделать через меню Сервис -> Шаблоны и надстройки).

  • Background — возвращает объект Shape, представляющий фоновый рисунок (фоновые рисунки видны только в режиме Web-документ);

  • BuiltInDocumentProperties — возможность получить ссылку на коллекцию DocumentProperties с одноименными объектами, представляющими встроенные свойства документа (название, автор, категория, комментарии и т.п.);

  • Content — свойство, возвращающее объект Range, представляющий главную цепочку документа (main document story). Если говорить проще — просто текст документа, без колонтитулов, сносок, комментариев и т.п.

Обычно перед тем, как что-либо сделать в окне документа Word, пользователь либо выделяет нужный участок текста, либо переставляет указатель вставки текста в нужное место. Объект Selection представляет именно такой выделенный участок текста (а если ничего не выделено, то место, где находится указатель вставки).

  • Find — очень важное свойство, которое возвращает объект Find. Подробнее про этот объект и про его вложенный объект Replace будет рассказано в разделе, посвященном поиску и замене текста.

  • Flags — свойство, которое позволяет проверить или изменить некоторые моменты, связанные с выделением: является ли оно активным, находится ли в конце строки и т.п. Регулирует пять параметров одновременно при помощи битовой маски.

  • Font — возвращает объект Font, при помощи которого можно управлять оформлением текста в выделении. Доступны все возможности, которые есть на графическом интерфейсе в меню Формат->Шрифт.

29 Методы доступа к документу в Visual Basic for Application в Microsoft Office Word.

Методы объекта Document.

  1. Activate() — этот метод позволяет сделать указанный вами документ активным (например, для ввода текста).

  2. Close() — закрыть документ. Можно закрыть с сохранением (по умолчанию), а можно — без (если указать соответствующий параметр).

  3. Save() — смысл этого метода очевиден. Если документ еще не сохранялся, открывается диалоговое окно Save As.

  4. SaveAs() — очень мощный и сложный метод. Можно определить путь для сохраняемого документа, его формат, кодировку, пароли на открытие и изменение документа, вставку шрифтов и многое другое. Очень полезный метод, например, для автоматической конвертации документов.

  5. Select() — позволяет просто выделить весь документ. Этот метод существует для очень большого количества объектов, в том числе Selection и Range.

Методы объекта Select.

  1. Calculate() — возможность посчитать математическое выражение прямо в процессе ввода текста и вернуть его результат (только используя тип данных Single).

  2. ClearFormatting() — очистить форматирование (и на уровне текста, и на уровне параграфа). Свойство можно применять не только для объекта Selection, но и для объектов Find и Replace.

  3. Collapse() — превратить выделение в точку вставки. Можно использовать два варианта: точка вставки на начало выделения и на конец выделения. Очень удобно, если вам требуется только вставить новый текст без удаления старого.

  4. Copy(), CopyAsPicture(), Cut(), Paste() и Delete() — комментировать эти методы, видимо, необходимости нет.

30 Поиск и замена информации средствами Visual Basic for Application в Microsoft Office Word.

Объекты Find и Replacement, как понятно из их названий, предназначены для выполнения операций поиска и замены. Объект Find — это условия поиска, "упакованные" в программный объект. У него множество свойств (Text, Style, Font, Forward, MathCase, LanguageID и т.п.), которые позволяют эти условия поиска определить. Чтобы запустить поиск, используется метод Execute() со множеством необязательных параметров, которые во многом дублируют свойства этого объекта (передав параметр ReplaceWith, можно выполнить даже замену текста). Для того, чтобы заменить все или просто проверить результаты поиска, используется значение, возвращаемое методом Execute(). Если значение обнаружено (поиск был успешен), то возвращается true, а если нет — false.

Как будет работать объект Find, зависит от того, из под какого объекта он был создан. Если он был создан при помощи свойства Find объекта Selection, то при обнаружении нужного фрагмента он выделяется. Если он был создан при помощи такого же свойства объекта Range, то диапазон переопределяется на найденный текст. Например, чтобы найти и выделить следующее вхождение текста "2004", можно использовать код:

Selection.Find.Text = "2004"

Selection.Find.Execute

Объект Replacement точно так же хранит настройки замены. Например, чтобы заменить везде до конца документа текст "2004" на "2005", можно использовать код

Selection.Find.Text = "2004"

Selection.Find.Replacement.Text = "2005"

Selection.Find.Execute Replace := wdReplaceAll

Многие программисты подстраховываются на случай, если во время поиска и замены возникнет ошибка из-за разницы в форматировании и используют метод ClearFormatting(). Этот метод очищает форматирование внутри объекта Find (на сам документ это никак не влияет) и позволяет производит поиск без учета форматирования. Например, наш код при использовании этого метода может выглядеть так:

Selection.Find.Text = "2004"

Selection.Find.ClearFormatting

Selection.Find.Replacement.Text = "2005"

Selection.Find.Replacement.ClearFormatting

Selection.Find.Execute Replace:=wdReplaceAll

31 Иерархические объекты Visual Basic for Application в Microsoft Office Access.

32 Иерархические объекты Visual Basic for Application в Microsoft Office PowerPoint

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

автоматически создавать презентации (например, на основе набора изображений в каталоге);

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

В PowerPoint система объектов выглядит следующим образом:

объект самого высокого уровня — Application, с набором свойств и методов, очень похожим на аналогичные объекты в Word и Excel;

на уровень ниже — коллекция Presentations с объектами Presentation. Можно сказать, что эти объекты по месту в иерархии примерно аналогичны объекту Workbook в Excel;

в объект Presentation встроена коллекция Slides с объектами Slide (в качестве примерного аналога можно привести листы в книгах Excel);

в объект Slide встроена коллекция Shapes с объектами Shape. Объекты Shape представляют все элементы слайда (всего их 22 типа) — изображение, надпись, диаграмма, заголовок, таблица, автофигура и т.п.

Вокруг этих четырех объектов — Application, Presentation, Slide и Shape и строится вся объектная модель Power Point.

33 Свойства иерархических объектов Visual Basic for Application в Microsoft Office PowerPoint.

21