Рефераты. Организация документооборота с помощью "Visual Basic for Application"

 

            Добавление нового объекта Comment

В списке методов объекта Comment нет метода для добавления нового примечания. Это объясняется тем, что метод AddComment принадлежит объекту Range. Следующий оператор добавляет примечание (пустое) в ячейку А1 активного рабочего листа:

                    Range("Al").AddComment

Обратившись в справочную систему, вы обнаружите, что метод AddComment имеет аргумент, представляющий текст примечания. Следовательно, можно добавить примечание и текст в нем с помощью всего одного оператора:

                    Range("Al").AddComment "Формула разработана JW"

Метод AddComment  генерирует ошибку, если ячейка уже содержит примечание.

    Если вы хотите увидеть рассмотренные свойства и методы объекта Comment в действии, посмотрите пример на Web-уэле. Рабочая книга в соответствующем файле содержит несколько примеров управления объектами Comment с помощью кода VBA. Скорее всего, вы не поймете весь код, но на данном этапе осознаете, как можно использовать VBA для работы с объектом.

 

Полезные свойства объекта Application

Как известно, при работе в Excel активной одновременно может быть только одна рабочая книга. И если вы управляете рабочим листом, то активна на нем только одна ячейка (даже если выделен диапазон).

VBA это известно, поэтому вы можете ссылаться на активные объекты более простым методом. Это удобно, так как вы не всегда знаете, с какой именно рабочей книгой, рабочим листом или ячейкой будете работать. VBA представляет свойства объекта Application для определения этого. Например, объект Application обладает свойством ActiveCell, возвращающим ссылку на активную ячейку. Следующая инструкция присваивает значение 1 активной ячейке:

                    ActiveCell.Value = 1

Обратите внимание, что в этом примере пропущена ссылка на объект

 A p p l i c a t i o n , так как это само собой разумеется. Важно понять, что такая инструкция может выдать ошибку, если активный лист не является рабочим. Например, если VBA выполняет этот оператор, когда активен лист диаграммы, то процедура прекращает выполняться, а на экране отображается сообщение об ошибке.

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

Объект A p p l i c a t i o n также обладает свойством S e l e c t i o n , возвращающим ссылку на выделенный объект, т.е. отдельную ячейку (активную), диапазон ячеек или объект типа ChartObject, TextBox или Shape.

В табл. 2  перечислены свойства объекта A p p l i c a t i o n , которые  полезны при работе с ячейками и диапазонами ячеек.


Таблица  2. Некоторые полезные свойства объекта Application

            Свойство                                     Возвращаемый объект

        ActiveCell                                      Активная ячейка

        ActiveChart                                    Активный лист диаграммы или объект диаграммы на                                                                рабочем листе. Если диаграмма не активна, то                                                                            свойство равно Nothing

        Activesheet                                    Активный лист (рабочий лист или лист диаграммы)

        Activewindow                               Активное окно

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

        RangeSeiection                              Выделенные ячейки на рабочем листе в заданном                окне, даже если выделен графический объект (на              самом деле это свойство объекта Window)

        Selection                                        Выделенный объект (объект Range, Shape, и т.д. )     ChartObject                                                                      

        Thisworkbook                                Рабочая книга, содержащая выполняемую процедуру


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

                    ActiveCell.ClearContents

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

                    MsgBox ActiveSheet.Name

Если требуется узнать название активной рабочей книги, используйте такой оператор:

                    MsgBox ActiveBook.Name

Если на рабочем листе выделен диапазон, то заполните этот диапазон одним значением, выполнив единственный оператор. В следующем примере свойство S e l e c t i on объекта Application возвращает объект Range, соответствующий выделенным ячейкам. Оператор изменяет свойство Value этого объекта Range, и в результате получается диапазон, заполненный одним значением.

                    Selection.Value = 12

Обратите внимание: если выделен не диапазон ячеек (например, объект ChartObject или Shape), то этот оператор выдаст ошибку, так как объекты ChartObject и Shape не обладают свойством Value.

    Однако приведенный ниже оператор, присваивает объекту Range, который выделялся перед выделением другого объекта (отличного от диапазона ячеек), значение 12. В справочной системе указано, что свойство RangeSelection относится только к объекту Window:

                    ActiveWindow.RangeSelection.Value = 12

Чтобы узнать, сколько ячеек выделено на рабочем листе, применяется свойство Count:                    MsgBox ActiveWindow.RangeSelection.Count

                       

Работа с объектами Range

В основном, работа, которая выполняется в VBA, связана с управлением ячейками и  и апазонами на рабочих листах, что и является основным предназначением электронных таблиц.

Объект Range содержится в объекте Worksheet и состоит из одной ячейки или диапазона ячеек на отдельном рабочем листе. В следующих разделах будут рассмотрены три способа задания ссылки на объекты Range в программе VBА.

            • Свойство Range объекта класса Worksheet или Range.

            • Свойство Cells объекта Worksheet.

            • Свойство Offset объекта Range.


Свойство Range

Свойство Range возвращает объект Range. Из справочных сведений по свойству Range можно узнать, что к данному свойству обращаются с помощью нескольких вариантов синтаксиса:

        объект.Range(ячейка1);

        объект.Range(ячейка1, ячейка2).

        Свойство Range относится к одному из двух типов объектов: объекту Worksheet или объекту Range. В данном случае ячейка1 и ячейка2 указывают параметры, которые Excel будет воспринимать как идентифицирующие диапазон (в первом случае) или очерчивающие диапазон (во втором случае). Ниже следует несколько примеров использования метода Range.

 Далее приведена инструкция, которая вводит значение в указанную ячейку: значение 1 вводится в ячейку А1 на листе Лист1 активной рабочей книги:

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.