Classe FreeformBuilder - geometria de uma forma livre enquanto ela está sendo construída (Word VBA)

A classe FreeformBuilder representa a geometria de uma forma livre enquanto a forma está sendo construída. Para usar uma variável de classe FreeformBuilder, ela primeiro precisa ser instanciada por exemplo


Dim fbr as FreeformBuilder
Set fbr = Application.ActiveDocument.Background.CanvasItems

AddNodes

Insere um novo segmento no final da forma livre que está sendo criada e adiciona os nós que definem o segmento.

Você pode usar esse método tantas vezes quantas você deseja adicionar nós à forma livre que você está criando. Quando terminar de adicionar nós, use o método ConvertToShape para criar a forma livre que você definiu. Para adicionar nós a uma forma livre após ele ter sido criado, use o método Insert da coleção ShapeNodes.

AddNodes (SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3)


Dim docActive As Document 
 
Set docActive = ActiveDocument 
 
With docActive.Shapes.BuildFreeform(msoEditingCorner, 360, 200) 
 .AddNodes msoSegmentCurve, msoEditingCorner, _ 
 380, 230, 400, 250, 450, 300 
 .AddNodes msoSegmentCurve, msoEditingAuto, 480, 200 
 .AddNodes msoSegmentLine, msoEditingAuto, 480, 400 
 .AddNodes msoSegmentLine, msoEditingAuto, 360, 200 
 .ConvertToShape 
End With

Arguments

O seguinte argumento é opcional

SegmentType (Office.MsoSegmentType) - O tipo de segmento a ser adicionado.

EditingType (Office.MsoEditingType) - A propriedade de edição do vértice. Se SegmentType for msoSegmentLine, EditingType deve ser msoEditingAuto.

X1 (Single) - Se EditingType do novo segmento for msoEditingAuto, este argumento especificará a distância horizontal (em pontos) do canto superior esquerdo do documento ao ponto de extremidade do novo segmento. Se o EditingType do novo nó for msoEditingCorner, este argumento especificará a distância horizontal (em pontos) do canto superior esquerdo do documento até o primeiro ponto de controle do novo segmento.

Y1 (Single) - Se EditingType do novo segmento for msoEditingAuto, este argumento especificará a distância vertical (em pontos) do canto superior esquerdo do documento ao ponto de extremidade do novo segmento. Se o EditingType do novo nó for msoEditingCorner, este argumento especificará a distância vertical (em pontos) do canto superior esquerdo do documento até o primeiro ponto de controle do novo segmento.

Optional arguments

Os seguintes argumentos são opcionais

X2 (Single) - Se o EditingType do novo segmento for msoEditingCorner, este argumento especificará a distância horizontal (em pontos) do canto superior esquerdo do documento até o segundo ponto de controle do novo segmento. Se o EditingType do novo segmento for msoEditingAuto, não especifique um valor para este argumento.

Y2 (Single) - Se o EditingType do novo segmento for msoEditingCorner, este argumento especificará a distância vertical (em pontos) do canto superior esquerdo do documento até o segundo ponto de controle do novo segmento. Se o EditingType do novo segmento for msoEditingAuto, não especifique um valor para este argumento.

X3 (Single) - Se EditingType do novo segmento for msoEditingCorner, este argumento especificará a distância horizontal (em pontos) do canto superior esquerdo do documento ao ponto de extremidade do novo segmento. Se o EditingType do novo segmento for msoEditingAuto, não especifique um valor para este argumento.

Y3 (Single) - Se EditingType do novo segmento for msoEditingCorner, este argumento especificará a distância vertical (em pontos) do canto superior esquerdo do documento ao ponto de extremidade do novo segmento. Se o EditingType do novo segmento for msoEditingAuto, não especifique um valor para este argumento.

ConvertToShape

Cria uma forma que tem as características geométricas do objeto especificado. Retorna um objeto Shape que representa a nova forma.

Você deve aplicar o método AddNodes a um objeto FreeformBuilder pelo menos uma vez antes de usar o método ConvertToShape.

ConvertToShape (Anchor)

Anchor: Um objeto Range que representa o texto ao qual a forma está vinculada. Se a âncora for especificada, a âncora está posicionada no início do primeiro parágrafo no intervalo de ancoragem. Se esse argumento for omitido, o intervalo de ancoragem é selecionado automaticamente e a forma é posicionada em relação às bordas superior e esquerdas da página.


Dim shpConvertToShape As Shape
Set shpConvertToShape = ActiveDocument.Background.CanvasItems.BuildFreeform.ConvertToShape()