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.