Propriété Shape.Cells (Visio)
Renvoie un objet Cell qui représente une cellule de feuille ShapeSheet. En lecture seule.
expression. Cells (localeSpecificCellName)
Expression Variable qui représente un objet Shape .
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
localeSpecificCellName | Requis | String | Nom d'une cellule de feuille ShapeSheet. |
Cell
Cells (« somestring ») lève une exception « Fin inattendue du fichier » si « somestring » ne nomme pas une cellule réelle. Utilisez la propriété CellExists pour déterminer si une cellule nommée « somestring » existe.
Les cellules des sections User-Defined Cells et Shape Data d’une forme appartiennent à des lignes dont les noms ont été définis par l’utilisateur ou par un programme. Utilisez la propriété Cells pour accéder aux cellules des lignes nommées.
Par exemple, si « Row_1 » correspond au nom d'une ligne de la section User-Defined Cells d'une forme, vous pouvez accéder à la première cellule de cette ligne (la cellule de la colonne 0, contenant le nom de la ligne) à l'aide de l'instruction suivante :
vsoCell = vsoShape.Cells("User.Row_1")
Utilisez cette instruction pour accéder à la cellule d’invite dans Row_1 :
vsoCell = vsoShape.Cells("User.Row_1.Prompt")
Supposons ensuite que Row_1 se trouve dans la section Shape Data et non dans la section User-Defined Cells. Utilisez cette instruction pour accéder à la première cellule de cette ligne (la cellule de la colonne zéro, qui contient le nom de la ligne) :
vsoCell = vsoShape.Cells("Prop.Row_1")
Utilisez cette instruction pour accéder aux autres cellules de la ligne :
vsoCell = vsoShape.Cells("Prop.Row_1.xxx")
où xxx est l'une des cellules suivantes : Label, Prompt, SortKey, Type, Format, Invisible ou Ask.
Notes
À 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, il définit un nom local. À partir de Microsoft Office Visio 2003, la feuille de calcul ShapeSheet affiche uniquement les noms universels des formules et valeurs de cellules. (Dans les versions antérieures, les noms universels n’étaient pas visibles dans l’interface utilisateur.)
Si vous êtes développeur, vous pouvez utiliser les noms universels dans un programme lorsque vous ne voulez pas modifier un nom chaque fois qu'une solution est localisée. Utilisez la propriété Cells pour obtenir un objet Cell à l'aide de son nom local. Utilisez la propriété CellsU pour obtenir un objet Cell à l'aide de son nom universel.
Cette macro Microsoft Visual Basic pour Applications (VBA) indique comment utiliser la propriété Cells pour récupérer une cellule ShapSheet par son nom. Elle dessine un rectangle sur une page et courbe ses traits jusqu'à ce qu'ils deviennent des arcs. C'est possible en changeant les valeurs des cellules X et Y dans chacune des cellules et en changeant les types de ligne ShapeSheet, et ce, pour chaque côté du rectangle afin qu'elles passent de LineTo à ArcTo.
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
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.