Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

プレゼンテーション生成メッセージの表示

プレゼンテーション生成メッセージ

PPT API は、PowerPoint® プレゼンテーションの生成時にメッセージを表示できます。このメッセージは、プレゼンテーションの生成中にプレゼンテーション要素が作成または追加されるたびにトリガーされます。

追加のメッセージを定義して、プレゼンテーションの生成中に表示できます。PPT API にはメッセージを定義するための以下のクラスが用意されています。

  • ProgressMessage

  • DebugMessage

  • WarningMessage

  • ErrorMessage

PPT API には、プレゼンテーション メッセージの送信および表示を処理するための追加のクラスが用意されています。メッセージは MATLAB® イベントとリスナーを使用して送信されます。メッセージは指定された PPT オブジェクトのイベント データに基づいて送信されます。イベントとリスナーの紹介については、イベントとリスナーの概念を参照してください。

メモ

メッセージ ディスパッチャーを作成すると、PPT API は現在の MATLAB セッションが終了するまでディスパッチャーを保持します。MATLAB セッションの間でのメッセージ オブジェクトの報告の重複を避けるには、メッセージ イベント リスナーを削除します。

PPT 既定のメッセージの表示

この例では、既定の PPT デバッグ メッセージを表示する方法を説明します。他の種類の PPT プレゼンテーション メッセージを表示する方法と同様の方法を使用します。

  1. MessageDispatcher.getTheDispatcher メソッドを使用してメッセージ ディスパッチャーを作成します。すべてのメッセージに対して同じディスパッチャーを使用します。

    dispatcher = MessageDispatcher.getTheDispatcher;
    
  2. デバッグ メッセージを表示するには、MessageDispatcher.Filter プロパティを使用します。

    dispatcher.Filter.DebugMessagesPass = true;
    
  3. MATLAB 関数 addlistener を使用してリスナーを追加します。ディスパッチャー オブジェクト、ソース/イベント データおよび関数 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. MATLAB 関数 addlistener を使用してリスナーを追加します。

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

参考

関数

クラス