Обновление презентации с правкой существующих связей


Краткое описание

Макрос предназначен для автоматического обновления презентаций с предварительным изменением связей на существующие (внедренные) excel-объекты: заголовки, таблицы, диаграммы.


Подробное описание

Представьте ситуацию. Вы создали презентацию в PowerPoint. В презентации используются связанные excel-файлы, хранящиеся на вашем ПК (например, связанная диаграмма, связанный заголовок или связанная таблица). Это очень удобно: не надо каждую неделю/месяц вставлять данные объекты повторно, достаточно открыть презентацию, обновить связи и свежая (обновленная) презентация готова.

Всё отлично работает до тех пор, пока вы не ушли в отпуск или пока не передали ведение вашей презентации другому человеку. Загвоздка в том, что PowerPoint сохраняет ссылки (связи) на внедренные вами объекты. Соответственно, когда другой сотрудник откроет вашу презентацию, то связанные объекты (таблицы, графики, диаграммы) будут по-прежнему ссылаться на excel-файлы, расположенные на вашем ПК.

Очевидных решений здесь два:

  1. Новый сотрудник копирует все связанные excel-файлы на свой ПК, открывает данные excel-файлы и только потом открывает саму презентацию. После данной манипуляции PowerPoint определит, что все нужные (связанные) excel-файлы открыты, увидит (считает) новые пути к связанным файлам и впредь (после сохранения) будет использовать уже обновленные директории.
  2. Изначально хранить все связанные excel-файлы в сетевой папке. Тогда, открыв презентацию на любом ПК, всё будет работать как обычно - линки на связи всегда одни и теже. Главное, чтобы сотрудники, обновляющие презентацию, имели доступ к исходному сетевому каталогу.

Решения хоть и очевидные, но есть и минусы:

  1. Есть вероятность, что кто-то забудет сперва открыть excel-файлы, и как следствие, PowerPoint не сможет обновить связанные объекты.
  2. Не у всех бывает доступ к исходному сетевому каталогу.
  3. Одноименный сетевой каталог, например, для штаб-квартиры, не всегда будет ссылаться на тот же ресурс для регионов/филиалов.

Другая ситуация. Вы ведете сводную презентацию, исходные слайды для которой обновляют несколько регионов или подразделений. Формат слайдов настроен, нужные графики/таблицы внедрены. Всё, что требуется от коллег, это в связанных excel-файлах указать свои (функциональные/региональные) данные, обновить презентацию и отправить PPT вам обратно. Решения и связанные с ними минусы аналогичны тем, что были указаны выше.


В качестве альтернативного решения вышеуказанных и им подобных ситуаций был написан макрос, который необходимо внедрить в один из ваших excel-шаблонов. Запускать макрос имеет смысл, когда все нужные данные в связанные excel-файлы внесены и сами файлы сохранены.

Алгоритм обновления презентаций с учетом данного макроса: пользователь в excel-файле нажимает кнопку "Обновить презентацию", макрос сам открывает необходимый ppt-файл, обновляет связи/слайды, сохраняет внесенные изменения и закрывает презентацию.

Из дополнительных функций в макросе предусмотрены:
- проверка количества открытых презентаций (решение проблемы пустого серого окна ppt),
- проверка существования исходных файлов, связь с которыми мы пытаемся обновить (если файл не существует, появится соответствующее уведомление),
- проверка наличия самой презентации перед стартом работы макроса.

Название презентации, в которой обновляем связи/слайды прописано в коде VBA (в самом начале кода). При желании данную функциональность легко можно вынести на лист excel.

Требований для работы макроса всего два:

  1. весь пакет файлов (excel + ppt) должен лежать в одной папке
  2. не менять название презентации и связанных с ней excel-файлов (в случае изменений необходима правка vba-кода)

При возникновении вопросов касательно работы макроса, его доработки или помощи по внедрению кода в ваш excel-шаблон - обращайтесь. Будем рады помочь.

Вернуться к списку примеров

Комментарии ()

  1. Alex 03 октября 2016, 10:03(Комментарий был изменён) # 0
    Добрый день.
    О проблеме написал в контактах.
    1. Михаил Фурманов 02 ноября 2018, 05:17 # 0
      А где сам макрос?
      1. Maxim 11 декабря 2018, 22:44 # 0
        В файле excel