API PPT может отобразить сообщения, когда вы генерируете представление PowerPoint®. Сообщения инициированы каждый раз, когда элемент представления создан или добавлен во время генерации представления.
Можно задать дополнительные сообщения, чтобы отобразиться, в то время как представление генерирует. API PPT обеспечивает эти классы для определения сообщений:
ProgressMessage
DebugMessage
WarningMessage
ErrorMessage
API PPT обеспечивает дополнительные классы для обработки диспетчеризации презентационного сообщения и отображения. Это использует события MATLAB® и прослушиватели, чтобы диспетчеризировать сообщения. Сообщение диспетчеризируется на основе данных о событиях для заданного объекта PPT. Для введения в события и прослушиватели, смотрите Событие и Концепции прослушивателя (MATLAB).
Когда вы создаете диспетчера сообщения, API PPT сохраняет диспетчера до конца текущего сеанса работы с MATLAB. Чтобы избежать дублирующегося создания отчетов объектов сообщения во время сеанса работы с MATLAB, удалите прослушиватели события сообщения.
В этом примере показано, как отобразить сообщения отладки PPT по умолчанию. Используйте аналогичный подход в отображении других видов презентационных сообщений PPT.
Создайте диспетчера сообщения, с помощью MessageDispatcher.getTheDispatcher
метод. Используйте того же диспетчера во всех сообщениях.
dispatcher = MessageDispatcher.getTheDispatcher;
Чтобы отобразить сообщения отладки, используйте MessageDispatcher.Filter
свойство.
dispatcher.Filter.DebugMessagesPass = true;
Добавьте прослушиватель с помощью addlistener
MATLAB функция. Задайте объект диспетчера, исходные данные и данные о событиях и
disp
функция, которая задает данные о событиях и формат для сообщения.
l = addlistener(dispatcher,'Message', ... @(src, evtdata) disp(evtdata.Message.formatAsText));
Добавьте код, который удаляет прослушиватель после кода, который генерирует представление.
delete(l);
Это представление отображает сообщения отладки.
import mlreportgen.ppt.*; dispatcher = MessageDispatcher.getTheDispatcher; dispatcher.Filter.DebugMessagesPass = true; l = addlistener(dispatcher,'Message', ... @(src, evtdata) disp(evtdata.Message.formatAsText)); slides = Presentation('myMessagePresentation'); titleSlide = add(slides,'Title and Content'); p = Paragraph('Hello World:'); p.Style = {Bold(true)}; t = Text(' How are you?'); t.Bold = false; append(p,t); add(titleSlide,'Content',p); close(slides); delete(l);
В этом примере показано, как создать и диспетчеризировать сообщение о ходе выполнения. Можно использовать аналогичный подход в других видах сообщений, таких как предупреждения.
Создайте диспетчера сообщения.
dispatcher = MessageDispatcher.getTheDispatcher;
Добавьте прослушиватель с помощью addlistener
MATLAB функция.
l = addlistener(dispatcher,'Message', ... @(src, evtdata) disp(evtdata.Message.formatAsText));
Диспетчеризируйте сообщение, с помощью Message.dispatch
метод. Задайте объект диспетчера и сообщение, чтобы диспетчеризировать. Здесь сообщение является сообщением отладки под названием firstSlide
, и Presentation
объект slides
источник сообщения.
dispatch(dispatcher,ProgressMessage('firstSlide',slides));
Добавьте код, который удаляет прослушиватель после кода, который генерирует представление.
delete(l);
Это представление использует это сообщение о ходе выполнения.
import mlreportgen.ppt.*; pre = Presentation('myPresentation.pptx'); dispatcher = MessageDispatcher.getTheDispatcher; l = addlistener(dispatcher,'Message', ... @(src, evtdata) disp(evtdata.Message.formatAsText)); dispatch(dispatcher,ProgressMessage('starting presentation',pre)); open(pre); titleText = Text('This is a Title'); titleText.Style = {Bold}; replace(pre,'Title',titleText); close(pre); delete(l);
dispatch
| formatAsHTML
| formatAsText
| mlreportgen.ppt.MessageDispatcher.getTheDispatcher
| passesFilter