Основы офисного программирования и документы Excel


              

Свойства - участники


Дадим краткую характеристику свойствам - участникам, входящим в рабочий лист:

  • Range, Cells, Rows, Columns, UsedRange, CircularReference - начнем с группы свойств, возвращающих объект Range. Я уже говорил, что объект Range - это основной объект электронной таблицы. Он позволяет задать, как отдельную ячейку таблицу, диапазоны ячеек, представляющие прямоугольную область таблицы, так и области более сложной конфигурации. Именно объект Range со своими свойствами и методами позволяет осуществлять непосредственную работу, как с отдельной ячейкой, так и с областями ячеек. Об этом объекте я еще много буду говорить, но уже сейчас хочу заметить, что большинство свойств рабочего листа Worksheet, о которых пойдет речь, характерны и для объекта Range, задающего часть рабочего листа. Объект Range возвращается в качестве результата при вызове следующих свойств:
  • Range(Cell1, [Cell2]) As Range - возвращает объект Range, определяемый параметрами свойства. Синтаксис параметров таков, что он позволяет определить достаточно изощренный объект. Я расскажу об этом подробнее чуть позже, когда мы займемся подробным рассмотрением объекта Range.
  • Cells As Range - возвращает коллекцию ячеек электронной таблицы. Вызванное объектом WorkSheet это свойство возвращает всю таблицу ячеек рабочего листа, которая, конечно, представляет собой объект Range. Поскольку Cells одновременно является объектом Range и коллекцией ячеек, то можно использовать индексы, чтобы добраться до отдельного элемента коллекции - ячейки таблицы. Важным свойством Cells обладают и объекты, стоящие на более низких ступенях иерархии, в частности, им обладает и сам объект Range, что позволяет получить коллекцию ячеек для любой заданной области таблицы.
  • Rows As Range и Columns As Range - соответственно возвращают коллекции строк и столбцов таблицы. По индексу можно добраться до отдельной строки или столбцу таблицы. Одновременно эти коллекции являются объектами Range, поскольку задают некоторую область рабочего листа.
  • UsedRange As Range - возвращает используемую область рабочего листа. Как правило, лишь небольшая часть рабочего листа занята данными, формулами, рисунками, диаграммами и графиками. Свойство UsedRange позволяет получить минимальную прямоугольную область, содержащую используемую область рабочего листа.
  • CircularReference As Range - возвращает объект Range, содержащий первую циклическую ссылку, если таковые имеются на рабочем листе. В противном случае возвращается значение Nothing. О циклических ссылках поговорим подробнее чуть позже.
Одну и ту же область таблицы - один и тот же объект Range - можно получить разными способами. Приведем пример, показывающий два способа получения ячейки "А1": Debug.Print ActiveSheet.Range("A1") Debug.Print ActiveSheet.Cells(1, 1) Оба оператора здесь эквивалентны, но только в одном случае используется свойство Range, в другом - Cells. В следующем примере работа идет над отдельным столбцом и строкой, но, фактически, и здесь действует тот же объект Range: ActiveSheet. Columns(2).Value = "Да" ActiveSheet.Rows(1).Font.Bold = True
  • Shapes - возвращает одноименную коллекцию, элементами которой являются объекты класса Shape. Эта коллекция состоит из объектов самых различных типов. По существу, все, что вставляется в рабочий лист, - рисунки, диаграммы, графики, встроенные и связанные OLE-объекты, элементы управления, размещаемые на рабочем листе, - все это объекты коллекции Shapes. При программировании нам неоднократно придется сталкиваться с этими объектами. После объектов Range объекты Shape представляют наиболее часто встречающийся тип объектов, определяющих суть рабочего листа. Замечу еще, что коллекция Shapes и объекты Shape относятся к схожим объектам, встречающимся во всех приложениях Office 2000. При описании объектов Word нам уже приходилось встречаться с этими объектами.
  • Names - возвращает неоднократно упоминавшуюся одноименную коллекцию. Подобное свойство имеют объекты Application и Workbook, имеет его и объект WorkSheet. Разница состоит только в том, что здесь речь идет об именах, используемых в данном рабочем листе.
  • Comments - возвращает одноименную коллекцию с элементами класса Comment, представляющими комментарии, которые можно привязывать к той или иной ячейке рабочего листа - объекту Range. Замечу, что комментарии несут очень важную нагрузку в создании дружелюбного интерфейса разрабатываемых документов. Их следует широко использовать. Эти объекты также относятся к схожим объектам, и встречаются во всех приложениях Office 2000. Но в Excel комментарии к ячейкам играют особую роль, значительно более важную, чем комментарии в документах Word. В текстовых документах можно использовать различные стили, чтобы непосредственно в тексте документа вставлять авторские замечания, предупреждения и пояснения. Комментарии, как правило, используются в тех случаях, когда не желательно прерывать плавное изложение материала, чтобы работающий с документом мог прочесть основной текст, лишь при желании знакомясь с комментариями. В Excel'е, когда основное содержание листа составляют таблицы, все замечания, пояснения и предупреждения оформляются в виде комментариев к тем или иным ячейкам. Они, например, могут давать подсказку, какие данные располагаются в ячейке, определять их формат и давать другую полезную информацию, необходимую пользователю при работе с таблицами рабочего листа. Есть некоторая разница в программной работе с комментариями в Word и Excel. Вот как выглядит пример введения комментариев в документ Excel: Public Sub AddComments() 'Формируется последовательность чисел Фибоначчи. 'Вставляется комментарий, поясняющий суть чисел. Dim myRange As Range Workbooks("BookThree").Activate With ActiveWorkbook.Worksheets(2) Set myRange = .Range("E1") With myRange .Value = "Числа Фибоначчи" .Offset(1, 0).FormulaR1C1 = "0" .Offset(2, 0).FormulaR1C1 = "1"




    Содержание  Назад  Вперед