Propriedade Shape.CellsU (Visio)
Retorna um objeto Cell que representa uma célula ShapeSheet. Somente leitura.
Sintaxe
expression. CellsU
( _localeIndependentCellName_
)
Expressão Uma variável que representa um objeto Shape .
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
localeIndependentCellName | Obrigatório | String | O nome de uma célula ShapeSheet. |
Valor de retorno
Cell
Comentários
CellsU ("somestring") gera uma exceção "Fim inesperado do arquivo" se "somestring" não nomear uma célula real. Use a propriedade CellExistsU para determinar se existe uma célula com o nome universal "somestring".
As células nas seções Células Definidas pelo Usuário e Propriedades Personalizadas, de uma forma, pertencem a linhas cujos nomes foram atribuídos pelo usuário ou por um programa. Use a propriedade CellsU para acessar células em linhas nomeadas.
Por exemplo, se "Linha_1" for o nome de uma linha na seção User-Defined Cells de uma forma, você pode usar essa instrução para acessar a primeira célula nessa linha (a célula na coluna zero, que mantém o nome da linha):
vsoCell = vsoShape.CellsU("User.Row_1")
Use esta instrução para acessar a célula prompt no Row_1:
vsoCell = vsoShape.CellsU("User.Row_1.Prompt")
Vamos supor que a Linha_1 esteja na seção Propriedades Personalizadas, em vez de na seção Células Definidas pelo Usuário. Use essa instrução para acessar a primeira célula da linha (a célula na coluna zero, que contém o nome da linha):
vsoCell = vsoShape.CellsU("Prop.Row_1")
Use esta instrução para acessar outras células na linha:
vsoCell = vsoShape.CellsU("Prop.Row_1.xxx ")
onde xxx é uma dessas células: Label, Prompt, SortKey, Type, Format, Invisible, or Ask.
Observação
A partir do Microsoft Visio 2000, você pode usar nomes locais e universais para se referir a formas, mestres, documentos, páginas, linhas, complementos, células, hiperlinks, estilos, fontes, atalhos mestre, objetos UI e camadas do Visio. Quando um usuário nomeia uma forma, por exemplo, o usuário está especificando um nome local. A partir do Microsoft Office Visio 2003, a planilha ShapeSheet exibe apenas nomes universais em fórmulas de células e valores. (Em versões anteriores, os nomes universais não eram visíveis na interface do usuário.).
Como desenvolvedor, você poderá usar nomes universais em um programa quando não quiser alterar um nome a cada vez que uma solução for localizada. Use a propriedade Cells para obter um objeto Cell usando o nome local da célula. Use a propriedade CellsU para obter um objeto Cell usando o nome universal da célula.
Exemplo
A seguinte macro do Microsoft Visual Basic for Applications (VBA) mostra como usar a propriedade CellsU para obter uma célula ShapeSheet particular por seu nome universal. Ela desenha um retângulo em uma página e transforma em arcos, ou curvas, as linhas do retângulo, alterando as linhas da forma para arcos. Isso é atingido mudando os tipos de linha ShapeSheet para cada lado do retângulo de LineTo para ArcTo e, em seguida, alterando os valores das células X e Y em cada uma dessas linhas.
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
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.