Отобразите сообщения генерации представления

Сообщения генерации представления

API PPT может отобразить сообщения, когда вы генерируете представление PowerPoint®. Сообщения инициированы каждый раз, когда элемент представления создан или добавлен во время генерации представления.

Можно задать дополнительные сообщения, чтобы отобразиться, в то время как представление генерирует. API PPT обеспечивает эти классы для определения сообщений:

  • ProgressMessage

  • DebugMessage

  • WarningMessage

  • ErrorMessage

API PPT обеспечивает дополнительные классы для обработки диспетчеризации презентационного сообщения и отображения. Это использует события MATLAB® и прослушиватели, чтобы диспетчеризировать сообщения. Сообщение диспетчеризируется на основе данных о событиях для заданного объекта PPT. Для введения в события и прослушиватели, смотрите Событие и Концепции прослушивателя.

Примечание

Когда вы создаете диспетчера сообщения, API PPT сохраняет диспетчера до конца текущего сеанса работы с MATLAB. Чтобы избежать дублирующегося создания отчетов объектов сообщения во время сеанса работы с MATLAB, удалите прослушиватели события сообщения.

Отобразите сообщения по умолчанию PPT

В этом примере показано, как отобразить сообщения отладки PPT по умолчанию. Используйте аналогичный подход для отображения других видов презентационных сообщений PPT.

  1. Создайте диспетчера сообщения, с помощью MessageDispatcher.getTheDispatcher метод. Используйте того же диспетчера для всех сообщений.

    dispatcher = MessageDispatcher.getTheDispatcher;
    
  2. Чтобы отобразить сообщения отладки, используйте MessageDispatcher.Filter свойство.

    dispatcher.Filter.DebugMessagesPass = true;
    
  3. Добавьте прослушиватель с помощью addlistener MATLAB функция. Задайте объект диспетчера, исходные данные и данные о событиях и disp функция, которая задает данные о событиях и формат для сообщения.

    l = addlistener(dispatcher,'Message', ...
          @(src, evtdata) disp(evtdata.Message.formatAsText));
    
  4. Добавьте код, который удаляет прослушиватель после кода, который генерирует представление.

    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);

Создайте и отобразите сообщение о ходе выполнения

В этом примере показано, как создать и диспетчеризировать сообщение о ходе выполнения. Можно использовать аналогичный подход для других видов сообщений, таких как предупреждения.

  1. Создайте диспетчера сообщения.

    dispatcher = MessageDispatcher.getTheDispatcher;
    
  2. Добавьте прослушиватель с помощью addlistener MATLAB функция.

    l = addlistener(dispatcher,'Message', ...
          @(src, evtdata) disp(evtdata.Message.formatAsText));
    
  3. Диспетчеризируйте сообщение, с помощью Message.dispatch метод. Задайте объект диспетчера и сообщение, чтобы диспетчеризировать. Здесь сообщение является сообщением отладки под названием firstSlide, и Presentation объект slides источник сообщения.

    dispatch(dispatcher,ProgressMessage('firstSlide',slides));
    
  4. Добавьте код, который удаляет прослушиватель после кода, который генерирует представление.

    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);

Смотрите также

Функции

Классы