Shape.Cells-Eigenschaft (Visio)
Gibt ein Cell-Objekt zurück, das eine ShapeSheet-Zelle darstellt. Schreibgeschützt.
Syntax
Ausdruck. Cells (localeSpecificCellName)
expression Eine Variable, die ein Shape-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
localeSpecificCellName | Erforderlich | String | Der Name einer ShapeSheet-Zelle. |
Rückgabewert
Cell
Hinweise
Cells ("somestring") löst eine Ausnahme vom Typ "Unerwartetes Ende der Datei" aus, wenn "somestring" keine tatsächliche Zelle benennet. Verwenden Sie die CellExists-Eigenschaft , um zu bestimmen, ob eine Zelle mit dem Namen "somestring" vorhanden ist.
Die Zellen in den Abschnitten "Benutzerdefinierte Zellen" und "Shape-Daten" in einem Shape gehören zu den Zeilen, deren Namen von einem Benutzer oder über ein Programm zugewiesen wurden. Verwenden Sie die Cells-Eigenschaft , um auf Zellen in benannten Zeilen zuzugreifen.
Lautet der Name einer Zeile in dem Abschnitt Benutzerdefinierte Zellen in einem Shape zum Beispiel "Row_1", können Sie die folgende Anweisung verwenden, um auf die erste Zelle in der Zeile (die Zelle in Spalte 0, die den Namen der Zeile enthält) zuzugreifen:
vsoCell = vsoShape.Cells("User.Row_1")
Verwenden Sie diese Anweisung, um auf die Eingabeaufforderungszelle in Row_1 zuzugreifen:
vsoCell = vsoShape.Cells("User.Row_1.Prompt")
Im folgenden Beispiel wird davon ausgegangen, dass "Row_1" sich nicht in dem Abschnitt Benutzerdefinierte Zellen, sondern in dem Abschnitt Shape-Daten befindet. Verwenden Sie diese Anweisung, um auf die erste Zelle in dieser Zeile zuzugreifen (die Zelle in Spalte 0, die den Namen der Zeile enthält):
vsoCell = vsoShape.Cells("Prop.Row_1")
Verwenden Sie diese Anweisung, um auf andere Zellen in der Zeile zuzugreifen:
vsoCell = vsoShape.Cells("Prop.Row_1.xxx")
dabei steht xxx für eine der folgenden Zellen: Beschriftung, Eingabeaufforderung, Sortierschlüssel, Typ, Format, Unsichtbar oder Frage.
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 z. B. ein Shape verwendet, gibt er einen lokalen Namen an. Ab Microsoft Office Visio 2003 werden in der ShapeSheet-Kalkulationstabelle nur universelle Namen in Zellformeln und Werten angezeigt. (In früheren Versionen wurden universelle Namen in der Benutzeroberfläche nicht angezeigt.)
Als Entwickler können Sie universelle Namen in einem Programm verwenden, falls Sie einen Namen nicht jedes Mal ändern möchten, wenn eine Lösung lokalisiert wird. Verwenden Sie die Cells-Eigenschaft, um ein Cell-Objekt unter Verwendung des lokalen Namens der Zelle abzurufen. Verwenden Sie die CellsU-Eigenschaft, um ein Cell-Objekt abzurufen, indem Sie den universellen Namen der Zelle angeben.
Beispiel
Das folgende VBA-Makro (Microsoft Visual Basic für Applikationen) zeigt, wie die Cells-Eigenschaft verwendet werden kann, um eine bestimmte ShapeSheet-Zelle nach Namen abzurufen. Es wird ein Rechteck auf ein Zeichenblatt gezeichnet, dessen Linien gebogen oder gekrümmt werden, indem die Linien des Shapes so geändert werden, dass sie Bögen darstellen. Dies erfolgt, indem zunächst die Zeilentypen des ShapeSheets für jede Linie des Rechtecks von "LineTo" in "ArcTo" und anschließend die Werte der X- und Y-Zellen in jeder dieser Zeilen geändert werden.
Public Sub Cells_Example()
Dim vsoPage As Visio.Page
Dim vsoShape As Visio.Shape
Dim vsoCell As Visio.Cell
Dim strBowCell As String
Dim strBowFormula As String
Dim intCounter As Integer
'Set the value of the strBowCell string.
strBowCell = "Scratch.X1"
'Set the value of the strBowFormula string.
strBowFormula = "=Min(Width, Height) / 5"
Set vsoPage = ActivePage
'If there isn't an active page, set vsoPage
'to the first page of the active document.
If vsoPage Is Nothing Then
Set vsoPage = ActiveDocument.Pages(1)
End If
'Draw a rectangle on the active page.
Set vsoShape = vsoPage.DrawRectangle(1, 5, 5, 1)
'Add a scratch section and add a row to the scratch section.
vsoShape.AddSection visSectionScratch
vsoShape.AddRow visSectionScratch, visRowScratch, 0
'Set vsoCell to the Scratch.X1 cell and set its formula.
Set vsoCell = vsoShape.Cells(strBowCell)
vsoCell.Formula = strBowFormula
'Bow in or curve the rectangle's lines by changing
'each row type from LineTo to ArcTo and entering the bow value.
For intCounter = 1 To 4
vsoShape.RowType(visSectionFirstComponent, visRowVertex + intCounter) = visTagArcTo
Set vsoCell = vsoShape.CellsSRC(visSectionFirstComponent, visRowVertex + intCounter, 2)
vsoCell.Formula = "-" & strBowCell
Next intCounter
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.