OleObjectFrameを追加した際のオブジェクト変更問題
問題の説明
開発者がAspose.Slides for Android via Javaを使用してスライドにOleObjectFrameを追加すると、出力スライドにOLEオブジェクトの代わりにオブジェクト変更メッセージが表示されます。Aspose.Slides for Android via Javaのほとんどの顧客は、これがAspose.Slides for Android via Javaのバグまたはエラーだと考えています。
批評分析と説明
まず最初に、OleObjectFrameをスライドに追加した後にAspose.Slides for Android via Javaによって表示されるオブジェクト変更メッセージは、Aspose.Slides for Android via Javaのエラーやバグではありません。これはユーザーにオブジェクトが変更され、画像を更新する必要があることを通知する情報やメッセージです。
例えば、スライドにMicrosoft ExcelチャートをOleObjectFrameとして追加した場合(OleObjectFrameをスライドに追加する詳細とコードスニペットについては、こちらをクリック)その後、MS PowerPointを使用してプレゼンテーションファイルを開くと、OLEオブジェクトが追加されたスライドは以下のようになります。
図: OLEオブジェクトが追加された後のオブジェクト変更メッセージを表示するスライド
これはエラーではなく、OLEオブジェクトはまだスライドに追加されています。これをテストしたい場合は、オブジェクト変更メッセージをダブルクリックするか、右クリックしてワークシートオブジェクト -> 編集オプションを選択すると、以下の図のように表示されます。
図: OLEオブジェクトを編集するための編集オプションを選択
ポップアップメニューの編集オプションを選択すると、埋め込まれたOLEオブジェクトが編集可能な形で表示されるようになります。
図: 編集可能な形のOLEオブジェクト
MS PowerPointのスライドプレビューを表示する左ペインにまだオブジェクト変更メッセージが表示されています。OLEオブジェクトをクリックすると、スライドプレビューも変更され、変更されたオブジェクトメッセージがOLEオブジェクトの画像に置き換わります。
図: OLEオブジェクト画像の更新
今、MS PowerPointを使用してプレゼンテーションファイルを保存する必要があります。そうすれば、OLEオブジェクトの画像が更新されます。プレゼンテーションを保存し、再度MS PowerPointで開くと、オブジェクト変更メッセージは表示されなくなります。
さらなる解決策
上記の批評分析では、OLEオブジェクトの画像はMS PowerPointでプレゼンテーションファイルを開いた後に保存することによって更新できることを示しました。しかし、オブジェクト変更メッセージに対処するための解決策が2つあります。
1つ目の解決策: オブジェクト変更メッセージを画像に置き換える
オブジェクト変更メッセージが気に入らない場合は、そのメッセージを任意の画像に置き換えることもできます。プレゼンテーションにお好みの画像を追加し、その追加した画像のIDを使用してオブジェクト変更メッセージを置き換えます。
これを実現するには、スライドにOleObjectFrameを追加した後にアプリケーション内に以下の数行のコードを追加できます。
例
上記の行をアプリケーションに追加すると、OleObjectFrameを含む結果のスライドは以下のようになります。
図: 画像に置き換えられたオブジェクト変更メッセージ
2つ目の解決策: MS PowerPoint用のアドオンを作成する
MS PowerPointのプレゼンテーションを開くときにすべてのOLEオブジェクトを更新するアドオンを作成することも試みることができます。