Share via


Método Page.LinkShapesToDataRows (Visio)

Vincula varias filas del conjunto de registros de datos especificado, de acuerdo con lo indicado por sus identificadores de fila de datos, a varias formas de la página; opcionalmente, aplica el gráfico de datos actual a las formas vinculadas.

Nota:

Este objeto o miembro Visio solo se encuentra disponible para los usuarios con licencia de Visio Professional 2013.

Sintaxis

expresión. LinkShapesToDataRows( _DataRecordsetID_ , _DataRowIDs()_ , _ShapeIDs()_ , _ApplyDataGraphicAfterLink_ )

Expresión Expresión que devuelve un objeto Page .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
DataRecordsetID Necesario Long Identificador del conjunto de registros de datos contenido en el documento actual que contiene los datos que se vincularán.
DataRowIDs() Necesario Long Matriz de tipo Long de identificadores de fila de datos de filas en el conjunto de registros de datos especificado en DataRecordsetID, que se va a vincular a las formas especificadas en ShapeIDs().
ShapeIDs() Necesario Long Matriz de tipo Long de identificadores de formas de la página que se va a vincular a las filas de datos especificadas en DataRowIDs() en el conjunto de registros de datos especificado en DataRecordsetID.
ApplyDataGraphicAfterLink Opcional Boolean Si se aplicará el gráfico de datos actual a las formas vinculadas. Vea Comentarios para obtener más información.

Valor devuelto

Nothing

Comentarios

Las posiciones de índice de los identificadores de forma de la matriz que se pasan para el parámetro ShapeIDs() deben corresponder a la posición de índice de la matriz DataRowIDs() de los identificadores de las filas de datos a las que desea vincular las formas. Es decir, para vincular la forma con el identificador 1 a la fila de datos con el identificador 10 , por ejemplo, coloque el identificador de forma y el identificador de fila de datos en la misma posición de índice de matriz en sus matrices respectivas.

Si Visio no puede establecer un vínculo entre una forma y una fila de datos, omite esa forma y va directamente a la siguiente que figura en la matriz. Después de ejecutar el método , para determinar si todas las formas de la matriz están realmente vinculadas a las filas de datos especificadas, llame al método Shape.GetLinkedDataRow en cada forma de la matriz. Si el método devuelve un error para cualquier forma, indica que ésta no está vinculada a la fila de datos. Visio normalmente vinculará correctamente una fila a una forma a menos que la forma ya esté vinculada a datos y la configuración de comportamiento de reemplazo de vínculos para el conjunto de registros de datos especifica que no se debe reemplazar el vínculo.

Si pasa True para el parámetro opcional ApplyDataGraphicAfterLink, o si no pasa un valor para este parámetro, Visio vuelve a aplicar el gráfico de datos existente a las formas que ya tenían gráficos de datos aplicados antes de llamar al método. Para las formas que no tenían ningún gráfico de datos previamente, Visio aplicará el último gráfico de datos que se haya aplicado a cualquier otra forma del documento activo.

Ejemplo:

La siguiente macro de Microsoft Visual Basic para Aplicaciones (VBA) muestra cómo usar el método LinkShapesToDataRows para vincular las tres primeras formas agregadas a la página de dibujo activa a los datos de las tres primeras filas de datos del conjunto de registros de datos que se agregaron recientemente a la colección DataRecordsets del documento actual. Como no se pasa un valor para el parámetro final opcional, también se aplica un gráfico de datos a las formas vinculadas.

Antes de ejecutar esta macro, abra un nuevo dibujo de Visio y use el método DataRecordsets.Add u otro medio para agregar al menos un conjunto de registros de datos a la colección DataRecordsets . El último conjunto de registros de datos agregado deberá contener al menos tres filas de datos. A continuación, agregue al menos tres formas a la página de dibujo.

Public Sub LinkShapesToDataRows_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordsetCount As Integer 
    Dim alngDataRowIDs(0 To 2) As Long 
    Dim alngShapeIDs(0 To 2) As Long 
     
    alngShapeIDs(0) = 1 
    alngShapeIDs(1) = 2 
    alngShapeIDs(2) = 3 
     
    alngDataRowIDs(0) = 1 
    alngDataRowIDs(1) = 2 
    alngDataRowIDs(2) = 3 
         
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
     
    ActivePage.LinkShapesToDataRows vsoDataRecordset.ID, alngDataRowIDs, alngShapeIDs 
 
End Sub

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.