2015-07-31 2 views
2

Я работаю над надстройкой Office для PowerPoint. Это современная «надстройка» для магазина Office, а не надстройка старого стиля.Есть ли событие перехода слайдов для надстройки PowerPoint (приложения)

Есть ли способ уведомления при изменении активного слайда?

Мой сценарий заключается в том, что я хочу что-то сделать в своем надстрочном коде при изменении слайда в качестве презентации.

Моим приложением может быть приложение с содержанием или панель задач на данном этапе.

ответ

3

Нет прямого способа сделать это. Библиотека Office JS не имеет события для слайд-переходов в PowerPoint.

Однако есть хакерский способ сделать это, что связано с обновлением веб-приложения на периодической основе и использованием getSelectedDataAsync с помощью CoercionType для SlideRange. Это дает вам полный список слайдов в документе, и вы можете получить индекс текущего слайда. Вы можете сохранить этот индекс в настройке и проверить, изменяется ли он, если у вас есть ваше событие.

Вот основной код (обновляется каждые 1,5 секунды)

//Automatically refresh 
window.setInterval(function() { 
//get the current slide 
Office.context.document.getSelectedDataAsync(Office.CoercionType.SlideRange, function (r) { 

     // null check 
     if (!r || !r.value || !r.value.slides) { 
     return; 
     } 

    //get current slides index 
    currentSlide = r.value.slides[0].index; 

    //get stored setting for current slide 
    var storedSlideIndex = Office.context.document.settings.get("CurrentSlide"); 
    //check if current slide and stored setting are the same 
    if (currentSlide != storedSlideIndex) { 
     //the slide changed - do something 
     //update the stored setting for current slide 
     Office.context.document.settings.set("CurrentSlide", currentSlide); 
     Office.context.document.settings.saveAsync(function (asyncResult) { }); 
    } 

}); 

}, 1500); 
+2

Привет! Есть ли планы по добавлению поддержки обратного вызова для события смены слайдов? Похоже, Мартин не единственный, кому это нужно))) –

Смежные вопросы