código VBA para selecionar a primeira forma no parágrafo ativo atual

0

No Word 2013, eu preciso de um código VBA simples em minha macro, que seleciona a primeira forma que existe no parágrafo ativo atual.

Observação: a forma que preciso que o código selecione é uma forma personalizada que criei e salvei como autotexto em BuildingBlockEntries. O código que uso para inserir minha forma é:

Application.Templates( _
 "C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\Normal.dotm") _
 .BuildingBlockEntries("_red_box").insert where:=Selection.Range, RichText:=True

O objetivo de selecionar a forma é colar o conteúdo da área de transferência no seguinte código:

ActiveDocument.ActiveWindow.Selection.Paste)

Eu sou novo no VBA. Qual seria o código do VBA para selecionar a forma?

    
por john.s2011 28.11.2014 / 07:40

1 resposta

1

Meu VBA está um pouco enferrujado, mas se você inserir com o mesmo nome e fornecer uma propriedade de índice, você pode usar o item (0) para selecionar o primeiro, item (1) para selecionar o segundo, etc. onde item () é o nome da sua instância, e 0,1,2,3 ... é qual item é.

Pode ser tão simples quanto adicionar:

dim MyShapes
MyShapes(0) = Application.Templates( ... )

Editar por john.s2011:

Sub Mymacro() 
    Dim MyShapes 
    MyShapes(0) = Application.Templates( _ 
    "C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\Normal.dotm") _
    .Buildi‌​ngBlockEntries("myshape").insert where:=Selection.Range, _
    RichText:=True 

    Dim Rng As Range 
    With ActiveDocument 
        Set Rng = .GoTo(What:=wdGoToBookmark, Name:="\para") 
        Rng.ShapeRange(0).Select Rng.Paste 
    End With 
end sub 
    
por 28.11.2014 / 09:09