PPT API может отображать сообщения при создании презентации PowerPoint ®. Сообщения запускаются каждый раз, когда элемент представления создается или добавляется во время создания представления.
Можно определить дополнительные сообщения для отображения во время создания презентации. PPT API предоставляет следующие классы для определения сообщений:
ProgressMessage
DebugMessage
WarningMessage
ErrorMessage
PPT API предоставляет дополнительные классы для обработки диспетчеризации и отображения сообщений представления. Для отправки сообщений используются события MATLAB ® и прослушиватели. Сообщение отправляется на основе данных события для указанного PPT-объекта. Вводные сведения о событиях и слушателях см. в разделе Концепции событий и слушателей.
Примечание
При создании диспетчера сообщений PPT API сохраняет диспетчера до конца текущего сеанса MATLAB. Чтобы избежать дублирования отчетов об объектах сообщений во время сеанса MATLAB, удалите прослушиватели событий сообщений.
В этом примере показано, как отображать отладочные сообщения PPT по умолчанию. Аналогичный подход используется для отображения других видов сообщений представления PPT.
Создайте диспетчер сообщений с помощью MessageDispatcher.getTheDispatcher способ. Используйте одного и того же диспетчера для всех сообщений.
dispatcher = MessageDispatcher.getTheDispatcher;
Для отображения отладочных сообщений используйте MessageDispatcher.Filter собственность.
dispatcher.Filter.DebugMessagesPass = true;
Добавление прослушивателя с помощью MATLAB addlistener функция. Укажите объект диспетчера, исходные данные и данные события, а также 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;
Добавление прослушивателя с помощью MATLAB addlistener функция.
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