Ajustar texto a forma no Visio

2

Estou tentando encontrar uma maneira de reduzir o texto em uma forma do Visio para caber na largura da forma. Caso contrário, deixe a fonte no padrão.

Existe uma função de folha de cálculo que eu possa usar para alterar o tamanho da fonte do texto para que ele não exceda a largura da forma?

Por fim, gostaria de poder atribuir isso ao construir automaticamente a forma usando o VBA, portanto, se houver alguma maneira de obter a largura do texto dessa maneira, talvez eu possa fazer isso.

    
por Jon Fournier 09.12.2009 / 17:02

2 respostas

1

Você pode redimensionar a fonte do bloco de texto usando a automação se o texto exceder o tamanho da forma. Eu achei que os seguintes trabalhos.

Abra a folha de formas da forma (Window- > Show Shapesheet) e adicione a seção do usuário (Insert- > Section- > User-defined Cells). Coloque esta fórmula na célula de valor para User.Row_1:

= Min (1, Altura / TEXO PESO (OTexto, Largura)))

Após o texto da forma ser alterado, obtenha o valor da célula do usuário. em c #:

escala dupla = shape.get_CellsSRC ((curto) IVisio.VisSectionIndices.visSectionUser, (abreviado) IVisio.VisRowIndices.visRowUser, (abreviado) IVisio.VisCellIndices.visUserValue) .ResultIU;

Em seguida, defina a fonte e os TextMargins (para qualquer um que não seja zero) com o seguinte (supondo que o tamanho normal da fonte seja 12 e a margem esquerda seja 4pt.:

shape.get_CellsSRC ((curto) IVisio.VisSectionIndices.visSectionCharacter, 0, (abreviado) IVisio.VisCellIndices.visCharacterSize) .FormulaU = (escala * 12) .ToString () + "pt";

shape.get_CellsSRC ((curto) IVisio.VisSectionIndices.visSectionObject, (curto) IVisio.VisRowIndices.visRowText, (curto) IVisio.VisCellIndices.visTxtBlkLeftMargin) .FormulaU = (escala * 4) .ToString () + "pt" ;

    
por 08.02.2010 / 21:02
1

Não conheço uma maneira de dimensionar o texto na forma, a menos que você altere o tamanho da fonte, mas existem maneiras de formas de tamanho para o texto em vez do inverso.

    
por 09.12.2009 / 17:14