Enthält Eigenschaften und Methoden, die für Verbindungen gelten. Eine Verbindung ist eine Linie, die zwei andere Formen an Punkten, den Verbindungspunkten, anfügt. Wenn Sie verbundene Formen neu anordnen, wird die Geometrie der Verbindung automatisch so angepasst, dass die Formen verbunden bleiben.
Verwenden des ConnectorFormat-Objekts
Verwenden Sie die ConnectorFormat-Eigenschaft, um ein ConnectorFormat-Objekt zurückzugeben. Mit Hilfe der BeginConnect- und der EndConnect-Methoden können Sie die Enden der Verbindung anderen Formen im Dokument zuordnen. Verwenden Sie die RerouteConnections-Methode, um automatisch den kürzesten Verbindungsweg zwischen den beiden verbundenen Formen zu finden. Mit Hilfe der Connector-Eigenschaft können Sie feststellen, ob es sich bei der Form um eine Verbindung handelt.
Beachten Sie, dass beim Hinzufügen einer Verbindung in die Shapes-Auflistung eine Größe und eine Position zugewiesen wird; beide werden jedoch automatisch angepasst, wenn Sie Anfang und Ende der Verbindung anderen Formen der Auflistung zuordnen. Deshalb sind beim Zuordnen einer Verbindung an andere Dokumente die für Größe und Position festgelegten Anfangswerte ohne Bedeutung. Ebenso geben Sie beim Zuordnen einer Verbindung den Verbindungspunkt auf einer Form an, an dem die Verbindung angefügt wird. Wenn Sie jedoch nach dem Anfügen der Verbindung die RerouteConnections-Methode verwenden, können sich die Verbindungspunkte ändern, und Ihre ursprünglich angegebenen Werte für die Verbindungspunkte bleiben ohne Bedeutung.
Im folgenden Beispiel werden in myDocument zwei Rechtecke eingefügt und durch eine gekrümmte Verbindung verbunden.
Set myDocument = Worksheets(1) Set s = myDocument.Shapes Set firstRect = s.AddShape(msoShapeRectangle, 100, 50, 200, 100) Set secondRect = s.AddShape(msoShapeRectangle, 300, 300, 200, 100) Setc c = s.AddConnector(msoConnectorCurve, 0, 0, 0, 0) With c.ConnectorFormat .BeginConnect ConnectedShape:=firstRect, ConnectionSite:=1 .EndConnect ConnectedShape:=secondRect, ConnectionSite:=1 c.RerouteConnections End With
Anmerkungen
Verbindungspunkte werden allgemein nach den in der folgenden Tabelle aufgeführten Regeln nummeriert.
Formart | Nummerierungsart der Verbindungspunkte |
---|---|
AutoFormen, WordArt, Bilder und OLE-Objekte | Die Verbindungspunkte werden von oben gegen den Uhrzeigersinn nummeriert. |
Freihandobjekte | Die Verbindungspunkte sind die Scheitelpunkte und entsprechen den Scheitelpunktnummern. |
Um in einer komplexen Form herauszufinden, welche Nummer welchem Verbindungspunkt entspricht, können Sie mit der Form bei eingeschaltetem Makro-Recorder experimentieren und anschließend den aufgezeichneten Code untersuchen. Sie können auch eine Form erstellen, sie markieren und das folgende Beispiel ausführen. Der Code nummeriert jeden Verbindungsort und ordnet ihm eine Verbindung zu.
Set mainshape = ActiveWindow.Selection.ShapeRange(1) With mainshape bx = .Left + .Width + 50 by = .Top + .Height + 50 End With With ActiveSheet For j = 1 To mainshape.ConnectionSiteCount With .Shapes.AddConnector(msoConnectorStraight, _ bx, by, bx + 50, by + 50) .ConnectorFormat.EndConnect mainshape, j .ConnectorFormat.Type = msoConnectorElbow .Line.ForeColor.RGB = RGB(255, 0, 0) l = .Left t = .Top End With With .Shapes.AddTextbox(msoTextOrientationHorizontal, _ l, t, 36, 14) .Fill.Visible = False .Line.Visible = False .TextFrame.Characters.Text = j End With Next j End With