Share via


Propriété Shape.CellsU (Visio)

Renvoie un objet Cell qui représente une cellule de feuille ShapeSheet. En lecture seule.

Syntaxe

expression. CellsU( _localeIndependentCellName_ )

Expression Variable qui représente un objet Shape .

Parameters

Nom Requis/Facultatif Type de données Description
localeIndependentCellName Requis String Nom d'une cellule de feuille ShapeSheet.

Valeur renvoyée

Cell

Remarques

CellsU (« somestring ») déclenche une exception « Fin inattendue du fichier » si « somestring » ne nomme pas une cellule réelle. Utilisez la propriété CellExistsU pour déterminer si une cellule portant le nom universel « 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é CellsU 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.CellsU("User.Row_1")

Utilisez cette instruction pour accéder à la cellule d’invite dans Row_1 :

vsoCell = vsoShape.CellsU("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 la ligne (la cellule de la colonne zéro, qui contient le nom de la ligne) :

vsoCell = vsoShape.CellsU("Prop.Row_1")

Utilisez cette instruction pour accéder aux autres cellules de la ligne :

vsoCell = vsoShape.CellsU("Prop.Row_1.xxx ")

xxx est l'une des cellules suivantes : Label, Prompt, SortKey, Type, Format, Invisible ou Ask.

Remarque

À 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.

Exemple

La macro Microsoft Visual Basic pour Applications (VBA) suivante indique comment utiliser la propriété CellsU pour récupérer une cellule de feuille ShapSheet par son nom universel. 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 CellsU_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.CellsU(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

Assistance et commentaires

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.