Método Page.DropManyLinkedU (Visio)

Crea varias formas nuevas en la página de dibujo vinculadas a varias filas de datos de un conjunto de registros de datos. Devuelve el número de instancias de formas creadas y una matriz con los identificadores de esas formas.

Nota:

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

Sintaxis

expresión. DropManyLinkedU( _ObjectsToInstance()_ , _XYs()_ , _DataRecordsetID_ , _DataRowIDs()_ , _ApplyDataGraphicAfterLink_ , _ShapeIDs()_ )

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

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
ObjectsToInstance() Obligatorio Variant Matriz de tipo Variant de objetos cuyas instancias se van a crear.
XYs() Obligatorio Double Matriz de tipo Double
DataRecordsetID Necesario Long Identificador del conjunto de registros de datos que contiene las filas de datos que se vincularán.
DataRowIDs() Necesario Long Matriz de tipo Long con los identificadores de las filas de datos que contienen los datos que se vincularán.
ApplyDataGraphicAfterLink Obligatorio Boolean Si se aplicará el gráfico de datos actual a las formas vinculadas. Vea Comentarios para obtener más información.
ShapeIDs() Necesario Long Parámetro de salida. Matriz de tipo Long de formas creadas y vinculadas.

Valor devuelto

Long

Comentarios

Si desea crear formas ya vinculadas a datos en una página de dibujo que no contenga ninguna forma o que contenga formas distintas de las que desea vincular, puede usar los métodos Page.DropLinked y Page.DropManyLinkedU para crear una o varias formas adicionales ya vinculadas a los datos. Estos métodos son similares a los métodos Page.Drop y Page.DropManyU existentes en que crean formas adicionales en una ubicación especificada de la página; pero además, crean vínculos entre las nuevas formas y las filas de datos especificadas en un conjunto de registros de datos especificado.

Para el parámetro ObjectsToInstance(), debe pasar una matriz de objetos a partir de los cuales se crearán instancias de formas vinculadas a los datos. Aunque estos objetos suelen ser objetos de Visio como objetos Master, Shape o Selection , pueden ser cualquier objeto OLE que proporcione una interfaz IDataObject .

Para el parámetro XYs(), debe pasar una matriz de tipo Double. Cada par consecutivo de valores array-index-position debe corresponder a las coordenadas de página x e y en las que desea colocar la instancia del objeto en la posición correspondiente de la matriz ObjectsToInstance(). Por ejemplo, si desea que la instancia del objeto en la primera posición del índice de matriz en ObjectsToInstance() se coloque en la coordenada de página (2,4), coloque el valor 2 en la primera posición del índice de matriz en XYs() y coloque el valor 4 en la segunda posición del índice de matriz de esa matriz, y así sucesivamente para el resto de los objetos y coordenadas.

Cuando un objeto que se pasa en la matriz ObjectsToInstance() es una forma, el centro del cuadro width-height de la forma se coloca en las coordenadas que especifique en XYs().

Cuando el objeto que se pasa en la matriz ObjectsToInstance() es un patrón, el eje del patrón se coloca en las coordenadas especificadas en XYs(). Normalmente, aunque no necesariamente, el eje de un patrón se sitúa en su centro de giro.

Para el parámetro DataRowIDs(), debe pasar una matriz de valores de tipo Long que representa los identificadores de las filas de datos del conjunto de registros de datos que se desea vincular a las instancias de formas creadas a partir de los objetos de las posiciones de índice correspondientes de la matriz ObjectsToInstance().

Para el parámetro ShapeIDs(), pase una matriz vacía y sin dimensiones de tipo Long. El método devolverá la matriz completada con los identificadores de las formas recién creadas y vinculadas.

Nota:

A partir de Microsoft Visio 2000, puede usar nombres locales y universales para hacer referencia a formas, patrones, documentos, páginas, filas, complementos, celdas, hipervínculos, estilos, fuentes, accesos directos maestros, objetos de interfaz de usuario y capas de Visio. Cuando un usuario asigna un nombre a una forma, por ejemplo, el usuario especifica un nombre local. A partir de Microsoft Office Visio 2003, la hoja de cálculo ShapeSheet solo muestra nombres universales en fórmulas y valores de celda. (En versiones anteriores de Visio, los nombres universales no eran visibles en la interfaz de usuario). Como desarrollador, puede usar nombres universales en un programa cuando no desee cambiar un nombre cada vez que se localiza una solución. Use el método DropManyLinkedU para colocar más de una forma vinculada a los datos cuando use nombres universales para identificar las formas.

Ejemplo:

En la siguiente macro de Microsoft Visual Basic para Aplicaciones (VBA) se muestra cómo utilizar el método DropManyLinkedU para crear una forma en la página de dibujo activa, centrada con respecto a las coordenadas especificadas y vinculada a filas de datos del último conjunto de registros de datos que se haya agregado al documento activo. Se imprime el número de formas creadas y sus números de identificador en la ventana Immediate (Inmediato).

Las formas que se pasan al método DropManyLinkedU son formas simples de la galería de símbolos Formas básicas (unidades de EE. UU. ). Antes de ejecutar esta macro, use el método DataRecordsets.Add u otro medio para agregar al menos un conjunto de registros de datos a la colección DataRecordsets y asegúrese de que la galería de símbolos Formas básicas (unidades US) está abierta en la ventana de dibujo de Visio.

Sub DropManyLinkedU_Example() 
 
    Dim avarObjects(0 To 2) As Variant 
    Dim adblXYs(0 To 5) As Double   
    Dim alngDataRowIDs(0 To 2) As Long 
    Dim alngShapeIDs() As Long 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordsetCount As Integer 
    Dim lngReturned As Long 
    Dim intCounter As Integer 
     
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
     
    Set avarObjects(0) = Visio.Documents("Basic_U.VSS").Masters("Rectangle") 
    Set avarObjects(1) = Visio.Documents("Basic_U.VSS").Masters("Triangle") 
    Set avarObjects(2) = Visio.Documents("Basic_U.VSS").Masters("Circle") 
     
    adblXYs(0) = 2 
    adblXYs(1) = 2 
    adblXYs(2) = 4 
    adblXYs(3) = 4 
    adblXYs(4) = 6 
    adblXYs(5) = 6 
         
    alngDataRowIDs(0) = 1 
    alngDataRowIDs(1) = 2 
    alngDataRowIDs(2) = 3 
         
    lngReturned = ActivePage.DropManyLinkedU(avarObjects, adblXYs, vsoDataRecordset.ID, alngDataRowIDs, True, alngShapeIDs) 
    Debug.Print lngReturned 
     
    For intCounter = 0 To lngReturned - 1 
        Debug.Print alngShapeIDs(intCounter) 
    Next 
     
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.