Web-страницы внутри презентаций Microsoft PowerPoint



    Задача

    Встроить web-страницу в слайд PowerPoint, чтобы докладчик мог, не прерывая презентацию, продемонстрировать сайт, показать видео, встроить PDF-документ или устроить интерактивное голосование среди слушателей.


    Решения

    Оказалось, что в PowerPoint имеется возможность встраивать элемент управления Microsoft WebBrowser ActiveX, который и отображает страницы.



    Oднако такой вариант имеет существенные недостатки:

    • Адрес страницы нужно менять непосредственно в Visual Basic
    • Для старта требуется отдельный элемент управления, например, кнопка стартующая вызов страницы
    • Большие страницы загружаются не сразу, а прогресс-бара нет. Просто пустое, белое место. Докладчик не знает, произошла ошибка или стоит еще подождать.
    • Если страница недоступна, появляется стандартная страница IE с ошибкой.
    • Страница по умолчанию отображается движком IE установленным в системе. У меня под Win7 это IE7, страницы, не оптимизированные под IE7 отображаются криво и с ошибкой:
    • Страница не обновляется автоматически

    Так как докладчик будет самостоятельно встраивать страницы и может не обладать нужными знаниями, желательно сделать эту процедуру простой.

    LiveWeb add-in

    Поэкспериментировав с Visual Basic, я решил поискать готовое решение для докладчика. Кроме платных вариантов, вроде iBrowse, я нашел бесплатный add-in – LiveWeb. Страница с описанием довольно навороченная, но содержит всю нужную информацию по установке и работе с LiveWeb, повторять которую смысла нет. Поддерживаются версии Microsof PowerPoint с 97 по 2010. Add-in пользуется популярностью, а также продолжает поддерживаться разработчиком. Слайды сохраняются с расширением *.pptm (ppt + macros).

    Кроме удобного создания и изменения параметров окна, важно, что LiveWeb при каждом посещении слайда обновляет страницу.

    Примеры

    Встроенное в презентацию видео (youtube)


    Встроенный в презентацию SMS-опрос


    Скачать пример презентации (потребуется add-in)
    Скачать add-in для PowerPoint 97-2003
    Скачать add-in для PowerPoint 2007/2010

    Преимущества add-in

    • Мастер встройки web-страниц в слайды, настройка параметров.
    • Add-in показывает актуальную страницу при каждом просмотре слайда
    • Исправить ситуацию с IE7 можно добавив мета-тег, с указанием желаемой версии Internet Explorer, на нужную страницу:
      <metahttp-equiv="X-UA-Compatible" content="IE=x" >


    Недостатки

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


    Итог

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

    Буду рад если кто-нибудь поделится своим решением. Также хотелось бы найти решение для Mac.

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 4

      +4
      > •На Windows 7 по умолчанию запускается IE7, страницы, не оптимизированные под IE7 отображаются криво и с ошибкой
      1) IE 7 в Windows 7 не бывает впринципе.
      2) Скорее всего, просто используется движок IE установленный в системе. Т.е. если у вас стоит IE 10, то использоваться будет соответствующий движок.
        –2
        Спасибо, сиправил.
          +1
          > У меня под Win7 это IE7,
          Как-то странно вы исправили.

          Вики:
          Windows Internet Explorer 8 (IE8) is a web browser developed by Microsoft in the Internet Explorer browser series, released on March 19, 2009. It is the successor to Internet Explorer 7, released in 2006, and is the default browser for Windows 7 and Windows Server 2008 R2 operating systems.[3] As of January 2011, estimates of IE8's global market share ranged from 26 percent to 33 percent.[4][5][6]

          Ну или расскажите как вы на win7 поставили IE 7, я не умею.

          > •Исправить ситуацию с IE7 можно добавив мета-тег, с указанием желаемой версии Internet Explorer, на нужную страницу:

          Этот метатег означает, что ie более старшей версии, должен рендерить и исполнять скрипты, как ie более младшей версии. Например, когда скрипты использовали костыли для поддержки ie8, а в ie9 эти костыли не работают. Что бы не переписывать под 2 браузера, можно попросить IE работать как более младшая версия. (Все на самом деле немного сложнее)
        +2
        В PowerPoint у объектов Slide, действительно нет события Activate. Нет его и у объекта WebBrowser.
        И на сайте поддержки VBA Microsoft вы действительно не найдете способа заставить отображаться web-страницы автоматически при смене слайдов, без нажатия на какую либо кнопку.

        Но такая возможность все же есть.
        Для этого необходимо использовать событие OnSlideShowPageChange()
        Следующий код можно вставить в новый модуль (например, Module1), и он будет выполняться при каждой смене слайдов.
        В блоках Case можно уже задать персональный код для каждого слайда.
        SlideNum — номер текущего слайда.

        Sub OnSlideShowPageChange()
            Dim SlideNum As Integer
        
            SlideNum = ActivePresentation.SlideShowWindow.View.CurrentShowPosition
        
            Select Case SlideNum
            Case 2
                Slide2.WebBrowser1.Navigate ("http://www.microsoft.com")
            Case 3
                Slide3.WebBrowser1.Navigate ("http://www.google.com")
            End Select
        
        End Sub
        

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

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое