Массовое изменение размера картинок в Word

Иван Корнев·13.05.2026·4 мин

Чтобы сделать все картинки в документе Word одинакового размера, выделите их (удерживая Ctrl или Shift), перейдите на вкладку «Формат рисунка» и в группе «Размер» укажите точные значения высоты и ширины. Для полной автоматизации процесса в больших документах используйте макрос VBA, который применяет заданные параметры ко всем изображениям за один клик.

Ниже подробно разобраны три метода: от быстрого ручного выравнивания до программной автоматизации.

Оглавление

  1. Способ 1: Ручное массовое изменение (без макросов)
  2. Способ 2: Автоматизация через макрос VBA
  3. Настройка пропорций и качества
  4. Частые ошибки
  5. FAQ

Способ 1: Ручное массовое изменение (без макросов)

Этот метод подходит, если нужно быстро изменить размер 5–20 изображений. Word позволяет применять параметры форматирования к нескольким выбранным объектам одновременно.

Пошаговая инструкция:

  1. Выделите изображения.

    • Кликните по первой картинке.
    • Зажмите клавишу Ctrl (или Shift) и кликайте по остальным изображениям, которые нужно выровнять.
    • Совет: Если картинки идут подряд, можно выделить первую, зажать Shift и кликнуть по последней.
  2. Откройте инструменты формата.

    • После выделения автоматически появится вкладка «Формат рисунка» (или «Формат») на ленте меню сверху.
  3. Задайте точные размеры.

    • В правой части ленты найдите группу «Размер».
    • В поля «Высота» и «Ширина» введите нужные значения (например, 10 см).
    • Нажмите Enter. Все выделенные изображения примут указанный размер.

Если поля «Размер» неактивны, убедитесь, что вы выделили именно объекты InlineShape (в тексте), а не плавающие фигуры. Для плавающих фигур алгоритм тот же, но иногда требуется снять группировку.

Способ 2: Автоматизация через макрос VBA

Если в документе сотни изображений или вам регулярно нужно приводить картинки к единому стандарту (например, для каталога товаров), лучше использовать макрос. Это сэкономит часы ручной работы.

Как запустить макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В меню выберите Insert > Module.
  3. Скопируйте и вставьте код ниже.
  4. Нажмите F5 для запуска или закройте редактор и запустите макрос через Вид > Макросы.

Код макроса (универсальный):

Sub ResizeAllImages()
    Dim shp As InlineShape
    Dim targetWidth As Single
    
    ' Укажите желаемую ширину в сантиметрах
    ' Word использует пункты (points), поэтому конвертируем: 1 см = 28.35 pts
    targetWidth = CentimetersToPoints(10) ' Здесь 10 см - замените на нужное значение

    Application.ScreenUpdating = False ' Отключаем обновление экрана для скорости

    ' Проходим по всем встроенным изображениям
    For Each shp In ActiveDocument.InlineShapes
        shp.LockAspectRatio = msoTrue ' Сохраняем пропорции
        shp.Width = targetWidth
        ' Высота подстроится автоматически благодаря LockAspectRatio
    Next shp

    Application.ScreenUpdating = True
    MsgBox "Все изображения изменены!", vbInformation
End Sub

Что делает этот код:

  • Находит все изображения, встроенные в текст (InlineShapes).
  • Блокирует соотношение сторон (LockAspectRatio = msoTrue), чтобы картинки не сплющивались.
  • Устанавливает единую ширину (в примере — 10 см). Высота меняется пропорционально.

Макрос выше работает только с изображениями, имеющими обтекание «В тексте». Если у вас используются плавающие объекты («Перед текстом», «За текстом»), замените InlineShapes на Shapes и адаптируйте код, так как работа с ними отличается.

Настройка пропорций и качества

При массовом изменении важно сохранить визуальное качество и правильную геометрию объектов.

Сохранять ли пропорции?

  • Да (Рекомендуется): Если фотографии разные (портретные и альбомные), жесткая фиксация и ширины, и высоты исказит изображение. Лучше фиксировать только одну сторону (обычно ширину), а высоту оставить автоматической.
  • Нет: Если вам нужны строго квадратные превью или одинаковые прямоугольники независимо от исходника (например, для сетки товаров). В этом случае в настройках размера снимите галочку «Сохранить пропорции» и задайте оба значения.

Проверка результата

После применения размеров обязательно прокрутите документ. Из-за изменения габаритов картинок может «поехать» верстка текста:

  • Используйте обтекание «В тексте» для стабильности потока.
  • Если картинки скачут, проверьте интервалы между абзацами (Макет > Интервалы).

Частые ошибки

ОшибкаПричинаРешение
Поля размера серые (неактивны)Выделен текст, а не картинка, или выбраны объекты разных типовУбедитесь, что курсор стоит на изображении или выделены только картинки
Картинки растянуты/сплюснутыОтключено сохранение пропорций при разных исходных форматахВключите LockAspectRatio или меняйте только ширину
Макрос не видит некоторые картинкиИзображения имеют обтекание «Перед текстом» (Shapes), а код настроен на InlineShapesИспользуйте универсальный скрипт или измените тип обтекания на «В тексте»
Сбилась верстка после измененияКартинки слишком большие для ширины страницыУменьшите целевой размер или измените поля страницы

FAQ

Можно ли сделать все картинки квадратными автоматически? Да, в макросе задайте shp.Width = targetSize и shp.Height = targetSize, предварительно отключив LockAspectRatio. Однако это обрежет или исказит контент. Лучше использовать инструмент «Обрезка» > «По соотношению сторон» > «1:1» перед изменением размера.

Почему после ввода 10 см картинка становится 9.8 см? Word может округлять значения или учитывать внутренние отступы рамки. Разница в доли миллиметра обычно незаметна при печати. Для идеальной точности используйте пункты (points) в макросах.

Как вернуть всё назад, если макрос всё испортил? Сразу после выполнения нажмите Ctrl + Z. Если файл уже сохранен и закрыт, поможет только резервная копия. Всегда сохраняйте копию документа перед запуском VBA-скриптов.