Propiedad Shape.CellsU (Visio)
Devuelve un objeto Cell que representa una celda ShapeSheet. Solo lectura.
Sintaxis
expresión. CellsU
( _localeIndependentCellName_
)
Expresión Variable que representa un objeto Shape .
Parameters
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
localeIndependentCellName | Obligatorio | String | Nombre de una celda ShapeSheet. |
Valor devuelto
Cell
Comentarios
CellsU ("somestring") genera una excepción "Final inesperado del archivo" si "somestring" no asigna un nombre a una celda real. Utilice la propiedad CellExistsU para determinar si existe una celda con el nombre universal "somestring".
Las celdas de las secciones Celdas definidas por el usuario y Datos de formas de una forma pertenecen a las filas cuyos nombres los ha asignado el usuario o un programa. Use la propiedad CellsU para acceder a las celdas de filas con nombre.
Por ejemplo, si el nombre de una fila de la sección Celdas definidas por el usuario de una forma es "Row_1", puede utilizar esta instrucción para tener acceso a la primera celda de esta fila (la celda de la columna cero, que contiene el nombre de la fila):
vsoCell = vsoShape.CellsU("User.Row_1")
Use esta instrucción para acceder a la celda del símbolo del sistema en Row_1:
vsoCell = vsoShape.CellsU("User.Row_1.Prompt")
A continuación, suponga que Row_1 se encuentra en la sección Datos de formas en lugar de la sección Celdas definidas por el usuario. Use esta instrucción para tener acceso a la primera celda de la fila (la celda de la columna cero, que contiene el nombre de la fila):
vsoCell = vsoShape.CellsU("Prop.Row_1")
Use esta instrucción para acceder a otras celdas de la fila:
vsoCell = vsoShape.CellsU("Prop.Row_1.xxx ")
donde xxx es una de estas celdas: Label, Prompt, SortKey, Type, Format, Invisible o Ask.
Nota:
A partir de Microsoft Visio 2000, puede usar nombres locales y universales para hacer referencia a formas, patrones, documentos, páginas, filas, complementos, celdas, hipervínculos, estilos, fuentes, accesos directos maestros, objetos de interfaz de usuario y capas de Visio. Cuando un usuario asigna un nombre a una forma, por ejemplo, el usuario especifica un nombre local. A partir de Microsoft Office Visio 2003, la hoja de cálculo ShapeSheet solo muestra nombres universales en fórmulas y valores de celda. (En versiones anteriores, los nombres universales no eran visibles en la interfaz de usuario).
Como programador, puede usar nombres universales en un programa cuando no desee cambiar un nombre cada vez que localice una solución. Para obtener un objeto Cell mediante el nombre local de la celda, utilice la propiedad Cells. Para obtener un objeto Cell mediante el nombre universal de la celda, utilice la propiedad CellsU.
Ejemplo:
La siguiente macro de Microsoft Visual Basic para Aplicaciones (VBA) muestra cómo utilizar la propiedad CellsU para obtener una celda ShapeSheet determinada a partir de su nombre universal. Dibuja un rectángulo en una página y curva las líneas de dicho rectángulo convirtiendo las líneas de la forma en arcos. Para ello, cambia los tipos de las filas de ShapeSheet para cada lado del rectángulo de LineTo a ArcTo y, a continuación, cambia los valores de las celdas X e Y en cada una de estas filas.
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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.