Modifique o código VB no MS Word para alterar a quebra de texto da imagem


2

Neste código para redimensionamento de imagem:

Sub resize()
Dim i As Long
With ActiveDocument
  For i = 1 To .InlineShapes.Count
        With .InlineShapes(i)
            .ScaleHeight = 50
            .ScaleWidth = 50
        End With
    Next i
End With
End Sub

Quero incluir um comando para alterar a disposição do texto do padrão (embutido) para 'superior e inferior'. Qual código eu preciso adicionar?

Respostas:


0

Uma forma embutida não possui texto de quebra automática, apenas as formas regulares, portanto, é necessário converter a forma embutida. Ao fazer isso de forma circular, conforme a macro está configurada, o número total de formas embutidas no documento muda a cada iteração e o novo total recalculado. Na melhor das hipóteses, isso pode realmente atrasar o processo e, na pior das hipóteses, os objetos podem ser perdidos.

A correção é trabalhar para trás, da última forma embutida para a primeira.

Sub resize()
Dim i As Long, rng As Range
With ActiveDocument
    For i = .InlineShapes.Count To 1 Step -1
        With .InlineShapes(i)
            .ScaleHeight = 50
            .ScaleWidth = 50
            Set rng = .Range
            .ConvertToShape
            rng.ShapeRange(1).WrapFormat.Type = wdWrapTopBottom
        End With
    Next i
End With
End Sub
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.