1

OpenXML SDK を使用して Power Point スライドを操作しています。スライドには 1 つの画像があります。私がやろうとしているのは、サーバー上で特定の画像が見つかった場合、スライド画像をサーバー上で見つかった画像に置き換えるか、それ以外の場合は画像を完全に削除することです。

交換は正常に機能していますが、画像を削除しようとすると、「この画像は表示できません」という画像コントロールが表示されます。

画像を削除するために私が行っていることは次のとおりです。slidePart は操作しているスライドであることに注意してください。

'get the first image on the slide
Dim blip As Drawing.Blip = slidePart.Slide.Descendants(Of Drawing.Blip)().First()
blip.Remove()
slidePart.Slide.Save()

誰かが私が間違っていることを教えてもらえますか? アドバイスをいただければ幸いです。

4

1 に答える 1

2

画像に対応する要素を探して、そのPicture要素を削除します。Picture要素を見つけて削除するために、画像名で検索する傾向があります。私が使用するコードの C# サンプルを次に示します。

Picture imageToRemove = slidePart.Slide.Descendants<Picture>().SingleOrDefault(picture => picture.NonVisualPictureProperties.OuterXml.Contains(imageFileName));

if (imageToRemove != null)
{
    imageToRemove.Remove();
}
于 2012-08-09T14:27:01.703 に答える