Redimensionar imagens uma por uma em um documento do Word é lento e tedioso, especialmente quando você tem uma dúzia ou mais de fotos que precisam ter dimensões exatas. O Word não possui um botão único que redimensione todas as imagens selecionadas simultaneamente, mas você pode obter o mesmo resultado com uma macro ou usando o painel Opções de Layout para definir medidas precisas. Este artigo explica como redimensionar várias imagens em lote usando uma macro VBA simples e como alinhar manualmente as dimensões das imagens para formatação consistente.
Principais conclusões: Redimensionar várias imagens no Word
- Macro VBA (Alt+F11 > Inserir > Módulo): Executa um script que redimensiona todas as imagens selecionadas para uma largura e altura uniformes em um clique.
- Painel Opções de Layout (clique com botão direito na imagem > Tamanho e Posição): Permite definir dimensões exatas para cada imagem individualmente, que você pode repetir com F4.
- Tecla F4 (Repetir Última Ação): Aplica a última alteração de tamanho a cada imagem subsequente que você selecionar, agilizando o redimensionamento manual.
Como o Word lida com o dimensionamento de imagens e por que o redimensionamento em lote não é nativo
O Word trata cada imagem como um objeto independente com suas próprias propriedades de tamanho. Quando você seleciona várias imagens mantendo Ctrl e clicando em cada uma, a guia Formatar Imagem aparece, mas as caixas Altura e Largura no grupo Tamanho ficam desabilitadas. Isso é proposital: o Word não permite aplicar um único valor de dimensão a uma seleção múltipla de imagens. A mesma limitação se aplica a formas e outros objetos incorporados.
Para redimensionar várias imagens de uma vez, você deve usar uma macro do Visual Basic for Applications que percorre cada imagem selecionada e define seu tamanho, ou usar o recurso Repetir Última Ação com a tecla F4 para aplicar a mesma alteração de tamanho a cada imagem manualmente. Ambos os métodos funcionam no Word 2016, Word 2019, Word 2021 e Word para Microsoft 365 no Windows 10 e Windows 11.
Pré-requisitos para o método de macro
Antes de executar uma macro, você precisa habilitar a guia Desenvolvedor. Vá em Arquivo > Opções > Personalizar Faixa de Opções. No painel direito, em Guias Principais, marque a caixa Desenvolvedor e clique em OK. Você também precisa salvar seu documento como um arquivo habilitado para macro (.docm) se planeja reutilizar a macro. Se precisar da macro apenas uma vez, pode executá-la do documento atual sem salvá-lo como .docm.
Passos para redimensionar várias imagens usando uma macro VBA
- Abra o Editor do Visual Basic
Pressione Alt+F11 no teclado para abrir o editor VBA. Se o editor abrir em branco, vá em Inserir > Módulo na barra de menus para criar um novo módulo de código. - Cole o código da macro de redimensionamento
Copie e cole o código a seguir na janela do módulo:Sub RedimensionarImagensSelecionadas()
Dim shp As InlineShape
Dim larguraAlvo As Single
Dim alturaAlvo As Single
larguraAlvo = InputBox("Digite a largura desejada em polegadas:")
alturaAlvo = InputBox("Digite a altura desejada em polegadas:")
For Each shp In ActiveDocument.InlineShapes
If shp.Type = wdInlineShapePicture Then
shp.Width = larguraAlvo * 72
shp.Height = alturaAlvo * 72
End If
Next shp
End Sub
Esta macro solicita largura e altura em polegadas e aplica esses valores a todas as imagens inline no documento. Multiplica por 72 porque o Word mede o tamanho em pontos (72 pontos = 1 polegada). - Execute a macro
Feche o editor VBA e retorne ao documento. Pressione Alt+F8 para abrir a caixa de diálogo Macros. Selecione RedimensionarImagensSelecionadas na lista e clique em Executar. Digite a largura e altura desejadas em polegadas quando solicitado e clique em OK. Todas as imagens inline no documento serão redimensionadas para essas dimensões. - Ajuste a macro para imagens flutuantes
Se suas imagens forem flutuantes (com quebra de texto), substituaInlineShapesporShapesna macro. AltereFor Each shp In ActiveDocument.InlineShapesparaFor Each shp In ActiveDocument.Shapes. Também altereIf shp.Type = wdInlineShapePicture ThenparaIf shp.Type = msoPicture Then. Execute a macro novamente.
Método manual usando F4 para repetir o redimensionamento de imagens
- Defina o tamanho da primeira imagem
Clique na primeira imagem que deseja redimensionar. Vá para a guia Formatar Imagem. No grupo Tamanho, insira a largura e altura exatas nas caixas. Certifique-se de desabilitar Bloquear Proporção se quiser forçar ambas as dimensões. Para desabilitar, clique com o botão direito na imagem, selecione Tamanho e Posição, desmarque Bloquear Proporção e clique em OK. - Selecione a próxima imagem e pressione F4
Clique na próxima imagem para selecioná-la. Pressione a tecla F4 no teclado. O Word repete a última ação, que é a alteração de tamanho que você acabou de aplicar. A segunda imagem é redimensionada para a mesma largura e altura da primeira. - Repita para todas as imagens
Continue selecionando cada imagem restante e pressionando F4. Este método funciona tanto para imagens inline quanto flutuantes. Se precisar redimensionar imagens que não são adjacentes, você pode manter Ctrl e clicar em cada imagem para selecioná-las e depois pressionar F4 uma vez. No entanto, o F4 repete apenas a última ação na seleção ativa, então você deve selecionar imagens uma a uma ou em grupos.
Problemas comuns ao redimensionar várias imagens
Imagens ficam distorcidas após redimensionamento
Quando você força uma largura e altura que não correspondem à proporção original, as imagens aparecem esticadas ou achatadas. Para evitar isso, calcule as dimensões corretas antes de redimensionar. Por exemplo, se a imagem original tem 4 polegadas de largura e 3 polegadas de altura (proporção 4:3) e você deseja largura de 2 polegadas, defina a altura para 1,5 polegadas. A macro acima não preserva a proporção automaticamente. Modifique a macro para preservar a proporção adicionando uma verificação: após definir a largura, calcule a altura como shp.Height = shp.Width * (alturaOriginal / larguraOriginal).
A macro não redimensiona todas as imagens
A macro mostrada anteriormente processa apenas imagens inline. Se seu documento contiver uma mistura de imagens inline e flutuantes, execute a macro duas vezes: uma com InlineShapes e outra com Shapes. Alternativamente, combine ambos os loops em uma macro. Certifique-se também de que as imagens não estejam agrupadas. Imagens agrupadas são tratadas como uma única forma, e a macro redimensionará o grupo como um todo, não as imagens individuais dentro dele.
A tecla F4 não repete a alteração de tamanho
A tecla F4 repete a última ação, mas algumas ações não são repetíveis. Se você usou a caixa de diálogo Tamanho e Posição (clique com botão direito > Tamanho e Posição) em vez das caixas de tamanho da faixa de opções, a tecla F4 pode não funcionar. Sempre use as caixas Altura e Largura na guia Formatar Imagem para a primeira imagem. Além disso, se você executou uma ação entre redimensionar a primeira e a segunda imagem, o F4 repete essa ação intermediária. Pressione F4 imediatamente após selecionar a próxima imagem.
Macro vs método F4 para redimensionar várias imagens
| Item | Macro VBA | Método da tecla F4 |
|---|---|---|
| Tempo de configuração | Requer habilitar a guia Desenvolvedor e colar código | Nenhuma configuração necessária |
| Número de imagens | Redimensiona todas as imagens correspondentes em uma execução | Funciona melhor para 5 a 10 imagens |
| Controle de proporção | Pode ser personalizado no código | Cálculo manual necessário |
| Tipos de imagem suportados | Inline ou flutuante (modificar código) | Ambos inline e flutuante |
| Repetibilidade | Execução única; reexecutar para tamanhos diferentes | Pressione F4 por imagem |
Agora você pode redimensionar várias imagens no Word usando uma macro VBA ou a tecla de repetição F4. Para documentos com mais de dez imagens, a macro economiza mais tempo. Para um ajuste rápido em algumas imagens, o método F4 funciona sem necessidade de codificação. Se você redimensiona imagens com frequência, salve a macro no modelo Normal.dotm para que esteja disponível em todos os documentos. Para fazer isso, abra o editor VBA, encontre o módulo em Normal e cole o código lá, em vez de no módulo do documento atual.