Freigeben über


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.