Compartir a través de


Método Table.GetArray (Outlook)

Obtiene una matriz bidimensional que contiene un conjunto de valores de fila y de columna del objeto Table.

Sintaxis

expresión. GetArray( _MaxRows_ )

Expresión Variable que representa un objeto Table .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
MaxRows Obligatorio Long Especifica el número máximo de filas que se devuelven de la tabla.

Valor devuelto

Un valor de Variant que es una matriz bidimensional que representa un conjunto de valores de fila y columna de la tabla. La matriz es de base cero; una matriz índice (i, j) utiliza un índice en la i-ésima columna y j-ésima fila en la matriz. Las columnas de la matriz corresponden a las columnas de la tabla y las filas de la matriz corresponden a las filas de la tabla. El número de filas de la matriz devuelta es el valor menor de MaxRows y el número real de filas en la Table.

Comentarios

El método GetArray ofrece una forma conceptualmente sencilla para obtener valores de una tabla copiar toda o parte de los datos de la tabla (basado en la fila actual) a una matriz e indizando la matriz.

GetArray siempre comienza a partir de la fila actual de la tabla. Devuelve una matriz con el número maxrows de filas si hay al menos un número máximo de filas en la tabla a partir de la posición actual. Si MaxRows no es mayor que el número total de filas de la tabla y hay menos de MaxRows número de elementos en la tabla a partir de la fila actual, devolverá una matriz que contiene solo las filas restantes de la tabla. Si se llama a GetArray y no hay filas restantes, GetArray devuelve una matriz vacía de cero elementos.

Después de obtener las filas correspondientes de la tabla y antes de devolver, GetArray siempre cambia la posición actual fila a la fila siguiente en la tabla, si existe una fila siguiente. GetArray(n) funciona como si se llama a Table.GetNextRow n veces.

Los valores de las columnas se asignan a columnas en la tabla y, por tanto, se determinan mediante el formato de nombre de la propiedad que se utiliza para la columna. Para obtener más información, vea Factores que afectan a la representación de los valores de las propiedades en las clases Table y View.

Ejemplo:

El ejemplo de código siguiente obtiene una tabla mediante el filtrado de todos los elementos de la Bandeja de entrada que contengan "Office" en el asunto. A continuación, se usa el método Table.GetArray para copiar los datos de la tabla a una matriz y se imprime el valor de la propiedad de cada elemento devuelto.

Para obtener más información sobre cómo especificar nombres de propiedad en un filtro mediante referencias a espacios de nombres, vea Hacer referencia a propiedades por espacio de nombres.

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

Consulte también

Objeto Table

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.