Partager via


Méthode Page.DropManyLinkedU (Visio)

Sur la page de dessin, crée plusieurs formes liées à plusieurs lignes de données d’un jeu d’enregistrements de données. Renvoie le nombre d’instances de forme créées ainsi qu’un tableau qui contient les ID de ces formes.

Remarque

Cet objet ou ce membre Visio est disponible uniquement pour les titulaires d’une licence d’utilisation de Visio Professionnel 2013.

Syntaxe

expression. DropManyLinkedU( _ObjectsToInstance()_ , _XYs()_ , _DataRecordsetID_ , _DataRowIDs()_ , _ApplyDataGraphicAfterLink_ , _ShapeIDs()_ )

Expression Expression qui renvoie un objet Page .

Parameters

Nom Requis/Facultatif Type de données Description
ObjectsToInstance() Requis Variant Tableau de type Variant qui contient les objets pour lesquels des instances doivent être créées.
XYs() Requis Double Tableau de type Double
DataRecordsetID Obligatoire Long ID du jeu d'enregistrements de données qui contient les lignes de données à lier.
DataRowIDs() Obligatoire Long Tableau de type Long qui contient les ID des lignes de données contenant les données à lier.
ApplyDataGraphicAfterLink Requis Boolean Spécifie si le graphique de données actuel doit être appliqué aux formes liées. Voir la section Remarques pour plus d'informations.
ShapeIDs() Obligatoire Long Paramètre sortant. Tableau de type Long des formes créées et liées à.

Valeur renvoyée

Entier long

Remarques

Lorsque vous souhaitez créer des formes déjà liées à des données sur une page de dessin qui ne contient pas de formes ou contient des formes autres que celles que vous souhaitez lier, vous pouvez utiliser les méthodes Page.DropLinked et Page.DropManyLinkedU pour créer une ou plusieurs formes supplémentaires déjà liées aux données. Ces méthodes ressemblent aux méthodes Page.Drop et Page.DropManyU existantes en ce qu’elles créent des formes supplémentaires à un emplacement spécifié sur la page ; Mais en outre, ils créent des liens entre les nouvelles formes et les lignes de données spécifiées dans un jeu d’enregistrements de données spécifié.

Pour le paramètre ObjetsÀCréer(), transmettez un tableau d'objets à créer dans les formes liées aux données. Bien que ces objets soient généralement des objets Visio tels que des objets Master, Shape ou Selection , ils peuvent être des objets OLE qui fournissent une interface IDataObject .

Pour le paramètre XY(), transmettez un tableau de valeurs de type Double. Chaque paire consécutive de valeurs matrice-index-position doit correspondre aux coordonnées de page x et y- où vous souhaitez positionner l’instance de l’objet à la position correspondante dans le tableau ObjectsToInstance(). Par exemple, si vous souhaitez que l’instance de l’objet dans la première position d’index de tableau dans ObjectsToInstance() soit positionnée aux coordonnées de page (2,4), placez la valeur 2 dans la première position d’index de tableau dans XYs(), puis placez la valeur 4 dans la deuxième position d’index de tableau dans ce tableau, et ainsi de suite pour le reste des objets et coordonnées.

Lorsqu’un objet que vous passez dans le tableau ObjectsToInstance() est une forme, le centre de la zone largeur-hauteur de la forme est positionné aux coordonnées que vous spécifiez dans XYs().

Lorsqu'un objet transmis dans le tableau ObjetÀCréer() correspond à une forme de base, l'axe de celle-ci est positionnée aux coordonnées indiquées dans XY(). L'axe d'une forme de base coïncide souvent, mais pas toujours, avec son centre de rotation.

Pour le paramètre IDLigneDonnées(), transmettez un tableau de valeurs de type Long qui représentent les ID des lignes de données du jeu d'enregistrements de données que vous souhaitez lier aux instances des formes créées à partir des objets aux positions d'index de tableau correspondantes dans le tableau ObjectsÀCréer().

Pour le paramètre IDForme(), transmettez un tableau vide et sans dimension de type Long. La méthode renvoie le tableau avec les ID des nouvelles formes liées.

Remarque

À partir de Microsoft Office Visio 2000, vous pouvez utiliser des noms locaux et universels pour vous reporter aux formes, formes de base, documents, pages, lignes, modules complémentaires, cellules, liens hypertexte, styles, polices, raccourcis de formes de base, objets UI et aux calques Visio. Lorsqu’un utilisateur nomme une forme, par exemple, l’utilisateur spécifie un nom local. À compter de Microsoft Office Visio 2003, la feuille de calcul ShapeSheet affiche uniquement les noms universels dans les formules de cellule et les valeurs. (Dans les versions antérieures de Visio, les noms universels n’étaient pas visibles dans l’interface utilisateur.) En tant que développeur, vous pouvez utiliser des noms universels dans un programme lorsque vous ne souhaitez pas modifier un nom chaque fois qu’une solution est localisée. Utilisez la méthode DropManyLinkedU pour déplacer plusieurs formes liées aux données lorsque vous utilisez des noms universels pour identifier les formes.

Exemple

La macro Microsoft Visual Basic pour Applications (VBA) ci-dessous illustre comment utiliser la méthode DropManyLinkedU pour créer plusieurs formes sur la page de dessin active centrées aux coordonnées spécifiés et liées à une ligne de données du jeu d'enregistrements de données dernièrement ajouté au document actif. La macro affiche le nombre de formes créées et leur numéro d'identification dans la fenêtre Exécution.

Les formes passées à la méthode DropManyLinkedU sont des formes simples du gabarit Formes de base (unités US). Avant d’exécuter cette macro, utilisez la méthode DataRecordsets.Add ou un autre moyen pour ajouter au moins un jeu d’enregistrements de données à la collection DataRecordsets et assurez-vous que le gabarit Formes de base (unités US) est ouvert dans la fenêtre de dessin 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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.