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