OleObjectFrameを追加した際のオブジェクト変更問題

問題の説明

開発者がAspose.Slides for Javaを使用してスライドにOleObjectFrameを追加すると、出力スライドにOLE Objectの代わりにObject Changedメッセージが表示されます。ほとんどのAspose.Slides for Javaの顧客は、これはAspose.Slides for Javaのバグまたはエラーだと考えています。

批判的分析と説明

まず最初に、スライドにOleObjectFrameを追加した後にAspose.Slides for Javaによって表示されるObject Changedメッセージは、Aspose.Slides for Javaのエラーやバグではありません。これは、オブジェクトが変更されたことをユーザーに通知する情報またはメッセージです。

例えば、スライドにOleObjectFrameとしてMicrosoft Excel Chartを追加すると(OleObjectFrameをスライドに追加する際の詳細とコードスニペットについては、こちらをクリック)、次にそのプレゼンテーションファイルをMS PowerPointで開くと、スライド(OLE Objectが追加された場所)は次のようになります:

todo:image_alt_text

: OLE Objectが追加された後にObject Changedメッセージを表示するスライド

これはエラーではなく、OLEオブジェクトは依然としてスライドに追加されています。これをテストしたい場合は、Object Changedメッセージをダブルクリックするか、右クリックして次のようにWorksheet Object -> Editオプションを選択します:

todo:image_alt_text

: OLE Objectを編集するためのEditオプションを選択

ポップアップメニューのEditオプションを選択すると、Embedded OLE Objectがeditableな形式で表示されることがわかります:

todo:image_alt_text

: 編集可能な形式のOLE Object

MS PowerPointの左ペインには、スライドのプレビューが表示される際に、依然としてObject Changedメッセージが表示されます。OLE Objectをクリックすると、スライドのプレビューも変更され、Changed ObjectメッセージがOLE Objectの画像に置き換えられます:

todo:image_alt_text

: OLE Object画像の更新

今、あなたはMS PowerPointを使用してプレゼンテーションファイルを保存する必要があります。これにより、OLE Objectの画像が更新されます。プレゼンテーションを保存して再度MS PowerPointで開くと、Object Changedメッセージが表示されなくなります。

さらなる解決策

上記の批判的分析では、MS PowerPointでプレゼンテーションファイルを開いて保存することで、OLE Objectの画像を更新できることを示しました。しかし、Object Changedメッセージに対処するための2つの解決策があります。

1つ目の解決策: オブジェクト変更メッセージを画像に置き換える

Object Changedメッセージが気に入らない場合は、そのメッセージを自分の画像に置き換えることもできます。プレゼンテーションに任意の画像を追加し、その追加した画像のIDを使用してObject Changedメッセージを置き換えることができます。

これを実現するために、スライドにOleObjectFrameを追加した後、アプリケーションにこれらのコードの行を追加することができます。

上記の行をアプリケーションに追加した後、OleObjectFrameを含むスライドは次のようになります:

todo:image_alt_text

: 画像で置き換えられたObject Changedメッセージ

2つ目の解決策: MS PowerPoint用のアドオンを作成する

MS PowerPoint用のアドオンを作成し、プレゼンテーションをMS PowerPointで開いたときにすべてのOLEオブジェクトを更新することも試すことができます。