Гид по технологиям

Как автоматически привести картинки к одинаковому размеру в PowerPoint с помощью макроса

6 min read Презентации Обновлено 08 Jan 2026
Изменение размера изображений в PowerPoint через макрос
Изменение размера изображений в PowerPoint через макрос

Этот материал показывает шаг за шагом, как включить вкладку Разработчик, создать и сохранить макрос VBA, который массово задаёт единую ширину и высоту для всех изображений в презентации. Привожу рабочий пример кода, рекомендации по проверке и альтернативные подходы.

resize-photos-macro-powerpoint-1

PowerPoint удобно использовать для показов, но при добавлении большого количества изображений важно быстро привести их к одному размеру. Это экономит время, упрощает верстку слайдов и может снизить размер файла презентации. Макросы VBA позволяют автоматизировать эту задачу.

Что такое VBA

VBA расшифровывается как Visual Basic for Applications. Это встроенный язык программирования в приложениях Microsoft Office. С помощью VBA можно расширять функциональность PowerPoint и автоматизировать повторяющиеся действия.

  • Простая дефиниция: VBA — язык автоматизации для Office, который выполняет сценарии и макросы.
  • Когда применять: если требуется повторять однотипную операцию на многих слайдах или объектах.

Зачем использовать макрос для изменения размера изображений

  • Экономия времени при работе с десятками изображений.
  • Единый стиль и аккуратная компоновка слайдов.
  • Быстрая подготовка презентации для печати или публикации.

Важно понимать: макросы изменяют файлы только когда вы явно запускаете их и сохраняете презентацию в формате, поддерживающем макросы.

Какие версии PowerPoint поддерживают макросы

Макросы работают в PowerPoint 2013, 2016, 2019 и Microsoft 365. Также обратите внимание, что для сохранения макроса нужен формат pptm.

Как включить вкладку Разработчик

  1. Откройте PowerPoint. В левом верхнем углу нажмите File > Options.

File option drop down list

  1. В окне Options выберите Customize Ribbon.
  2. В раскрывающемся списке найдите Main Tabs и отметьте чекбокс рядом с Developer.

 Mains Tab in the Customize Ribbon in PowerPoint

Developer Check box under Mains tab in PowerPoint

  1. Нажмите OK. На ленте появится вкладка Developer.

Developer tab added on the main options window in PowerPoint

Примечание: если у вас ограничены права на установку настроек в рабочей среде, обратитесь к администратору.

Создание макроса для изменения размера изображений

  1. Перейдите на вкладку Developer и нажмите Macros.
  2. В поле имени введите понятный идентификатор макроса, например ResizeSlidePowerPoint. Не используйте пробелы; можно ставить подчёркивания.

Macro Naming Dialogue Box

  1. Нажмите Create, чтобы открыть редактор Visual Basic.

Opened Visual Basic Window

  1. Вставьте в окно редактора код, который будет проходить по всем слайдам и всем изображениям и задавать нужные размеры. Ниже приведён проверенный шаблон, который можно адаптировать под свои величины в сантиметрах.
Sub ResizeAllPictures(widthCm As Double, heightCm As Double, Optional keepAspect As Boolean = False)
  Dim sld As Slide
  Dim shp As Shape
  Dim wPts As Single, hPts As Single
  Const POINTS_PER_CM = 28.3464567
  wPts = widthCm * POINTS_PER_CM
  hPts = heightCm * POINTS_PER_CM

  For Each sld In ActivePresentation.Slides
    For Each shp In sld.Shapes
      If shp.Type = msoPicture Or shp.Type = msoLinkedPicture Then
        If keepAspect Then
          shp.LockAspectRatio = msoTrue
          If shp.Width > shp.Height Then
            shp.Width = wPts
          Else
            shp.Height = hPts
          End If
        Else
          shp.LockAspectRatio = msoFalse
          shp.Width = wPts
          shp.Height = hPts
        End If
      End If
    Next shp
  Next sld
End Sub

Sub ResizePicturesTo5x5cm()
  Call ResizeAllPictures(5, 5, False)
End Sub

Объяснение кода в одну строку: макрос переводит сантиметры в пункты и устанавливает ширину и высоту для всех фигур типа изображение.

Советы:

  • Параметр keepAspect = True оставит пропорции, подгоняя одну из сторон.
  • Если нужно, чтобы картинки центрировались после изменения размера, можно добавить после установки размеров строки, меняющие shp.Left и shp.Top.

Сохранение презентации с макросом

  1. В PowerPoint нажмите File > Save As.

Save as PowerPoint dialogue box

  1. В списке типов файлов выберите PowerPoint Macro-Enabled Presentation и сохраните файл с расширением pptm.
  2. Закройте окно Visual Basic Editor, вернитесь в PowerPoint.

Важно: при передаче файла коллегам сообщите, что презентация содержит макросы — в некоторых организациях политика безопасности блокирует макросы.

Применение макроса к изображениям на слайдах

  1. Вставьте изображения: Insert > Picture и выберите файлы.

Animal images saved in a PC

  1. Повторите для всех нужных слайдов. Разные исходные размеры не мешают макросу.
  2. На вкладке View или Developer откройте Macros и запустите созданный макрос.

PowerPoint macro run dialogue box

  1. Макрос изменит размеры изображений мгновенно. Проверьте несколько слайдов и при необходимости откатите изменения через Undo или из сохранённой копии.

Когда макрос может не подойти

  • Если изображения должны сохранять оригинальные пропорции и не подрезаться — тогда параметр keepAspect обязателен.
  • Если у изображений есть связанные метаданные или прозрачность, макрос не повлияет на эти свойства, но всегда сохраняйте резервную копию.
  • Если изображения находятся внутри контейнеров SmartArt или группированы, итог может отличаться — нужно сначала распаковать группы.

Альтернативные подходы

  • Использовать встроенную функцию Сжать изображения для уменьшения веса презентации (File > Compress Pictures). Этот метод меняет разрешение, но не гарантирует одинаковый визуальный размер.
  • Массовая подготовка изображений во внешнем графическом редакторе (Photoshop, Affinity, бесплатные конвертеры) с заданными параметрами ширины и высоты перед вставкой в PowerPoint.
  • Использовать сторонние надстройки для PowerPoint, которые предоставляют интерфейс пакетной обработки изображений.

Проверка и критерии приёмки

Критерии приёмки:

  • Все вставленные в презентацию объекты типа изображение имеют заданную ширину и высоту с допустимой погрешностью в 1 мм.
  • Изображения не потеряли критическую важную часть содержимого (визуальная проверка).
  • Презентация открывается у получателя, у которого включены макросы, и макросы не блокируются политиками безопасности.

Минимальный тестовый чеклист:

  • Вставить 5 изображений разных пропорций и размеров.
  • Запустить макрос с keepAspect = False и проверить размеры.
  • Повторить с keepAspect = True и оценить визуальный результат.

Роли и краткие чеклисты

  • Для презентера:

    • Убедиться, что макрос не изменяет важное содержимое изображений.
    • Сделать резервную копию презентации перед массовым запуском.
  • Для дизайнера:

    • Проверить визуальную выравненность и отступы.
    • При необходимости отрегулировать параметры макроса для центровки.
  • Для администратора ИТ:

    • Проверить корпоративную политику безопасности относительно макросов.
    • При необходимости добавить подписанный цифровой сертификат для макроса.

Риски и способы их смягчения

  • Риск: макрос изменил важную часть изображения. Митигирование: сохраняйте копию презентации и пробуйте макрос на тестовом слайде.
  • Риск: файл блокируется корпоративными политиками. Митигирование: заранее согласуйте с ИТ и/или подпишите макрос цифровой подписью.
  • Риск: изображения в группах не изменились. Митигирование: добавить шаг распаковки групп перед запуском или адаптировать макрос для групп.

Быстрый чек-лист внедрения (SOP)

  1. Резервная копия исходной презентации.
  2. Включить вкладку Разработчик.
  3. Создать макрос с желаемыми параметрами.
  4. Сохранить презентацию в формате pptm.
  5. Запустить макрос на тестовой выборке слайдов.
  6. Проверить результат визуально и технически.
  7. Применить к остальной презентации.

Короткие советы и приёмы

  • Используйте сантиметры для привычного восприятия размеров; макрос переводит в пункты автоматически.
  • Если нужно расположить все изображения в одинаковых позициях, после изменения размеров добавьте центрирование: shp.Left = (sld.Master.Width - shp.Width) / 2 и аналогично для Top.
  • Для больших наборов изображений сначала тестируйте на 2–3 слайдах.

Сравнение подходов в одно предложение

Макросы подходят для быстрой пакетной обработки внутри PowerPoint; внешняя подготовка файлов лучше при необходимости точной обрезки и оптимизации качества перед вставкой.

Заключение

Автоматизация изменения размеров изображений в PowerPoint через макросы экономит время и делает презентации аккуратнее. Процесс включает включение вкладки Разработчик, создание и сохранение макроса, а также тестирование перед массовым применением. При соблюдении простых правил риски минимальны.

Краткий план действий:

  • Включите вкладку Разработчик
  • Создайте и вставьте макрос VBA
  • Сохраните файл как pptm
  • Запустите макрос на тестовой выборке

Важно: всегда работайте с резервной копией и учитывайте корпоративные правила по макросам.

Примечание

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство