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);
mlreportgen.ppt.MessageDispatcher.dispatch
| mlreportgen.ppt.MessageDispatcher.getTheDispatcher
| mlreportgen.ppt.ProgressMessage.formatAsHTML
| mlreportgen.ppt.ProgressMessage.formatAsText
| mlreportgen.ppt.ProgressMessage.passesFilter