OleObjectFrame 追加時のオブジェクトプレビュー問題
はじめに
Aspose.Slides for .NET を使用してスライドに OleObjectFrame を追加すると、出力スライドに「EMBEDDED OLE OBJECT」メッセージが表示されます。このメッセージは意図したものであり、バグではありません。
OLE オブジェクトの操作に関する詳細は、Manage OLE を参照してください。
説明と対策
Aspose.Slides は「EMBEDDED OLE OBJECT」メッセージを表示して、OLE オブジェクトが変更されプレビュー画像を更新する必要があることを通知します。
たとえば、Microsoft Excel のチャートを OleObjectFrame としてスライドに追加し(詳細は「Manage OLE」記事をご覧ください)、Microsoft PowerPoint でプレゼンテーションを開くと、スライド上に次の画像が表示されます。

スライドに OLE オブジェクトが追加されたことを確認したい場合は、「EMBEDDED OLE OBJECT」メッセージをダブルクリックするか、右クリックして Object > Edit を選択します。

PowerPoint は埋め込み OLE オブジェクトを開きます。

スライドには「EMBEDDED OLE OBJECT」メッセージが残ることがあります。OLE オブジェクトをクリックすると、スライドのプレビューが更新され、メッセージは OLE オブジェクトの実際の画像に置き換わります。

次に、プレゼンテーションを保存して OLE オブジェクトの画像が正しく更新されるようにします。これにより、保存後にプレゼンテーションを再度開いても「EMBEDDED OLE OBJECT」メッセージは表示されません。
その他の対策
対策 1: 「Embedded OLE Object」メッセージを画像に置き換える
PowerPoint でプレゼンテーションを開いて保存することなく「EMBEDDED OLE OBJECT」メッセージを削除したくない場合は、好みのプレビュー画像に置き換えることができます。以下のコード例がその手順を示しています。
using var presentation = new Presentation("embeddedOLE.pptx");
var slide = presentation.Slides[0];
var oleFrame = (IOleObjectFrame)slide.Shapes[0];
// Add an image to presentation resources.
using var imageStream = File.OpenRead("myImage.png");
var oleImage = presentation.Images.AddImage(imageStream);
// Set a title and the image for the OLE object preview.
oleFrame.SubstitutePictureTitle = "My title";
oleFrame.SubstitutePictureFormat.Picture.Image = oleImage;
oleFrame.IsObjectIcon = false;
presentation.Save("embeddedOLE-newImage.pptx", SaveFormat.Pptx);
OleObjectFrame を含むスライドは次のように変わります。

対策 2: PowerPoint 用アドオンを作成する
Microsoft PowerPoint 用のアドオンを作成し、プレゼンテーションを開くたびにすべての OLE オブジェクトを更新することもできます。