Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt mehrere neue Shapes auf dem Zeichenblatt, die mit mehreren Datenzeilen in einem Datenrecordset verknüpft sind. Gibt die Anzahl der erstellten Shape-Instanzen und ein Array von IDs dieser Shapes zurück.
Hinweis
Dieses Visio-Objekt oder dieses Visio-Mitglied ist nur für lizenzierte Benutzer von Visio Professional 2013 verfügbar.
Syntax
Ausdruck.
DropManyLinkedU( _ObjectsToInstance()_ , _XYs()_ , _DataRecordsetID_ , _DataRowIDs()_ , _ApplyDataGraphicAfterLink_ , _ShapeIDs()_ )
Ausdruck Ein Ausdruck, der ein Page-Objekt zurückgibt.
Parameter
| Name | Erforderlich/Optional | Datentyp | Beschreibung |
|---|---|---|---|
| ObjectsToInstance() | Erforderlich | Variant | Ein Array vom Typ Variant mit Objekten, für die Instanzen erstellt werden sollen. |
| XY() | Erforderlich | Double | Ein Array vom Typ Double |
| DataRecordsetID | Erforderlich | Long | Die ID des Datenrecordsets, das die zu verknüpfenden Datenzeilen enthält. |
| DataRowIDs() | Erforderlich | Long | Ein Array vom Typ Long mit IDs der Datenzeilen, die die zu verknüpfenden Daten enthalten. |
| ApplyDataGraphicAfterLink | Erforderlich | Boolean | Gibt an, ob die aktuelle Datengrafik auf die verknüpften Shapes angewendet werden soll. Weitere Informationen finden Sie in den Anmerkungen. |
| ShapeIDs() | Erforderlich | Long | Ausgabeparameter. Ein Array vom Typ "Long " mit Formen, die erstellt und mit denen Sie verknüpft sind. |
Rückgabewert
Long
Hinweise
Wenn Sie Shapes erstellen möchten, die bereits mit Daten auf einem Zeichenblatt verknüpft sind, das entweder keine Shapes oder andere Shapes als die zu verknüpfenden enthält, können Sie die Methoden Page.DropLinked und Page.DropManyLinkedU verwenden, um ein oder mehrere zusätzliche Shapes zu erstellen, die bereits mit Daten verknüpft sind. Diese Methoden ähneln den vorhandenen Page.Drop - und Page.DropManyU-Methoden insofern, als sie zusätzliche Formen an einer bestimmten Stelle auf dem Zeichenblatt erstellen. Darüber hinaus erstellen sie aber auch Verknüpfungen zwischen den neuen Shapes und den angegebenen Datenzeilen in einem angegebenen Datenrecordet.
Übergeben Sie für den ObjectsToInstance()-Parameter ein Array mit Objekten, die zu mit Daten verknüpften Shapes instanziiert werden sollen. Während diese Objekte in der Regel Visio-Objekte sind, z. B. Master-, Shape- oder Selection-Objekte , kann es sich um beliebige OLE-Objekte handeln, die eine IDataObject-Schnittstelle bereitstellen.
Übergeben Sie für den XYs()-Parameter ein Array vom Typ Double. Jedes aufeinanderfolgende Paar von Array-Index-Positionswerten sollte den x- und y-Seitenkoordinaten entsprechen, an denen die Instance des Objekts an der entsprechenden Position im ObjectsToInstance()-Array positioniert werden soll. Wenn Sie zum Beispiel möchten, dass die Instanz des Objekts an der ersten Array-Indexposition in ObjectsToInstance() an der Seitenkoordinate (2,4) positioniert wird, platzieren Sie den Wert 2 an der ersten Array-Indexposition in XYs() und platzieren Sie den Wert 4 an der zweiten Array-Indexposition in diesem Array usw. für die restlichen Objekte und Koordinaten.
Wenn ein Objekt, das Sie im Array ObjectsToInstance() übergeben, eine Form ist, wird die Mitte des Felds Breite-Höhe der Form an den Koordinaten positioniert, die Sie in XYs() angeben.
Wenn ein im ObjectsToInstance()-Array übergebenes Objekt ein Master-Objekt ist, wird der Drehbezugspunkt des Masters bei den unter XYs() angegebenen Koordinaten positioniert. Der Drehbezugspunkt eines Masters ist häufig der Mittelpunkt der Drehung, aber nicht notwendigerweise.
Übergeben Sie für den DataRowIDs()-Parameter ein Array mit Long-Werten. Diese Werte stellen die IDs der Datenzeilen im Datenrecordset dar, die mit den Shape-Instanzen verknüpft werden sollen, die aus den Objekten an den entsprechenden Array-Indexpositionen im Array ObjectsToInstance() erstellt wurden.
Übergeben Sie für den Parameter ShapeIDs() ein leeres Array ohne Dimensionen vom Typ Long. Die Methode gibt das Array zurück, das die IDs der neu erstellten und verknüpften Shapes enthält.
Hinweis
Ab Microsoft Visio 2000 können Sie sowohl lokale als auch universelle Namen verwenden, um auf Shapes, Master-Shapes, Dokumente, Zeichenblätter, Zeilen, Add-Ons, Zellen, Hyperlinks, Formatvorlagen, Schriftarten, Master-Shape-Verknüpfungen, Benutzeroberflächenobjekte und Layer von Visio zu verweisen. Wenn ein Benutzer beispielsweise einem Shape einen Namen benennt, gibt er damit einen lokalen Namen an. Seit Microsoft Office Visio 2003 zeigt die ShapeSheet-Tabelle nur universelle Namen in Zellformeln und Werten an. (In früheren Versionen von Visio waren universelle Namen auf der Benutzeroberfläche nicht sichtbar.) Als Entwickler können Sie universelle Namen in einem Programm verwenden, wenn Sie einen Namen nicht jedes Mal ändern möchten, wenn eine Lösung lokalisiert wird. Verwenden Sie die DropManyLinkedU-Methode, um mehrere mit Daten verknüpfte Shapes abzulegen, wenn Sie zum Identifizieren der Shapes universelle Namen verwenden.
Beispiel
Das folgende Microsoft Visual Basic for Applications (VBA)-Makro zeigt, wie Sie mithilfe der DropManyLinkedU-Methode mehrere Shapes auf dem aktiven Zeichenblatt erstellen, die an den angegebenen Koordinaten zentriert sind und mit einer Datenzeile in dem Datenrecordset verknüpft sind, das dem aktiven Dokument zuletzt hinzugefügt wurde. Es zeigt die Anzahl der erstellten Shapes und ihre ID-Nummern im Direktfenster an.
Die Shapes, die an die DropManyLinkedU-Methode übergeben werden, sind einfache Formen aus der Schablone "Standard-Shapes (US-Einheiten) ". Verwenden Sie vor dem Ausführen dieses Makros die DataRecordsets.Add-Methode oder eine andere Möglichkeit, um der DataRecordsets-Auflistung mindestens einen Datenrecordset hinzuzufügen, und stellen Sie sicher, dass die Schablone "Standard-Shapes (US-Einheiten)" im Visio-Zeichnungsfenster geöffnet ist.
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
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.