Real text wrap; ningún carro sangriento regresa.
Visio 2010. SysML Stencil (fuente desconocida) Forma de 'Actividad' en la colección de formas 'Diagrama de actividad'.
- Si no puede ver la pestaña 'desarrollador' en la cinta:
Archivo> Opciones> Personalizar cinta> [Seleccionar 'desarrollador' en la lista de 'fichas principales']
- Haga clic derecho en forma de interés y seleccione 'Mostrar ShapeSheet'
- Encuentra la propiedad width de interés
texto Transformar> TXTWIDTH
- cambiar la fórmula en la celda de la propiedad TXTWIDTH
- a partir de (algo así) '= MAX (C har.Size, textwidth (TheText))'
- a '= MIN (Ancho-0.08, MAX (Char.Size, textwidth (TheText)))'
- Disfrute.
La magia aquí es el decrementador -0.08. Sin él, no podría hacer la forma más pequeña porque la fórmula no permitiría que el ancho del texto sea más pequeño que el ancho de la forma, y el ancho de la forma parece limitarse automáticamente a, como mínimo, el ancho del texto. Divertido. Puede encontrar que necesita un decrementador más grande o que puede obtener una más fina.
Guarde la forma en la que ha realizado este cambio en la galería de símbolos si puede.
Aquí es el VBA rápida/sucia solía aplicar el cambio de fórmula en todos los bloques de la 'acción':
Public Sub ApplyWrapTextPropertyToAllActionBlocks()
Const STR_ACTION_BLOCK_NAME As String = "Action with Wrap Text."
Const STR_DECREMENTER As String = "-0.08"
Dim objShape As Shape
Dim objActionBlock As Shape
For Each objShape In ActivePage.Shapes
If InStr(1, objShape.Name, STR_ACTION_BLOCK_NAME, vbBinaryCompare) <> 0 Then
Debug.Print "Found one: " & objShape.Name
Set objActionBlock = objShape
objActionBlock.CellsU("TxtWidth").Formula = "=MIN(Width" & STR_DECREMENTER & ",MAX(Char.Size,TEXTWIDTH(TheText)))"
End If
Next objShape
End Sub
Y entonces qué? –