Поделиться через


Метод Table.GetArray (Outlook)

Получает двумерный массив, содержащий набор значений строк и столбцов из таблицы.

Синтаксис

выражение. GetArray( _MaxRows_ )

Выражение Переменная, представляющая объект Table .

Параметры

Имя Обязательный или необязательный Тип данных Описание
MaxRows Обязательный Long Задает максимальное количество строк, возвращаемых из таблицы.

Возвращаемое значение

Значение Variant , представляющее собой двумерный массив, представляющий набор значений строк и столбцов из таблицы. Массив отсчитывается от нуля; индекс массива (i, j) индексирует i-й столбец и j-й строку в массиве. Столбцы в массиве соответствуют столбцам в таблице, а строки в массиве соответствуют строкам в таблице. Число строк в возвращаемом массиве — это меньшее значение MaxRows и фактическое количество строк в таблице.

Замечания

Метод GetArray предлагает концептуально простое средство получения значений из таблицы путем копирования всех или части данных в таблице (на основе текущей строки) в массив и индексирования в массив.

GetArray всегда начинается с текущей строки таблицы. Он возвращает массив с числом строк MaxRows, если в таблице есть по крайней мере число строк MaxRows, начиная с текущей позиции. Если значение MaxRows не превышает общее число строк в таблице, а число элементов в таблице меньше MaxRows, начиная с текущей строки, он вернет массив, содержащий только оставшиеся строки в таблице. Если метод GetArray вызывается и не осталось строк, getArray возвращает пустой массив с нулевыми элементами.

После получения соответствующих строк из таблицы и перед ее возвратом GetArray всегда переместит текущую строку в следующую строку таблицы, если есть следующая строка. GetArray(n) работает так, как будто Table.GetNextRow вызывается n раз.

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

Пример

В следующем примере кода таблица получается путем фильтрации по всем элементам в папке "Входящие", содержащим "Office" в теме. Затем он использует метод Table.GetArray для копирования данных из таблицы в массив и выводит значение свойства каждого возвращенного элемента.

Дополнительные сведения об указании имен свойств в фильтре по ссылке на пространство имен см. в разделе Ссылки на свойства по пространству имен.

Sub DemoTableUsingGetArray() 
 'Declarations 
 Dim Filter As String 
 Dim i, ubRows As Long 
 Dim j, ubCols As Integer 
 Dim varArray 
 Dim oTable As Outlook.Table 
 Dim oFolder As Outlook.Folder 
 Const SchemaPropTag As String = _ 
 "http://schemas.microsoft.com/mapi/proptag/" 
 
 On Error Resume Next 
 'Get a Folder object for the Inbox 
 Set oFolder = Application.Session.GetDefaultFolder(olFolderInbox) 
 'Filter on the subject containing "Office" 
 Filter = "@SQL=" & Chr(34) & SchemaPropTag & "0x0037001E" _ 
 & Chr(34) & " like '%Office%'" 
 'Get all items in Inbox that meet the filter 
 Set oTable = oFolder.GetTable(Filter) 
 
 On Error GoTo Err_Trap 
 varArray = oTable.GetArray(oTable.GetRowCount) 
 
 'Number of rows is the second dimension of the array 
 ubRows = UBound(varArray, 2) 
 'Number of columns is the first dimension of the array 
 ubCols = UBound(varArray) 
 
 'Array is zero-based 
 'Rows corrspond to items in the table, so for each item... 
 For j = 0 To ubRows 
 'Columns correspond to properties in the table, print the value of each property 
 For i = 0 To ubCols 
 Debug.Print varArray(i, j) 
 Next 
 Next 
 Exit Sub 
 
Err_Trap: 
 Debug.Print "Error#:" & Err.Number & " Desc: " & Err.Description 
 Resume Next 
End Sub

См. также

Объект Table

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.