私はVB.NETで書かれたVSTOを持っており、選択したイメージをバックグラウンドで最大化したい。ドキュメントには古いシェイプを削除し、AddPicture
で新しいシェイプを追加するように指示されていますが、既にそこにイメージシェイプを含むテンプレートがあり、AddPicture
は既にシェイプの1つにイメージを置きます。イメージを図形に置き換え、新しいものを追加しない
画像が間違った形で表示されないようにするには、元の画像をサイズ変更したものに置き換えてください。その後
dim src as PowerPoint.Shape = PowerPoint.Selection.ShapeRange.Item(1)
src.Export(file1, PowerPoint.PpShapeFormat.ppShapeFormatPNG)
dim img as Image = BitMap.FromFile(file1)
その後、いくつかの画像魔法、そして:
これは私が持っているものである
img.Save(file2, PowerPoint.PpShapeFormat.ppShapeFormatPNG)
Dim _S As PowerPoint.Slide = ppApp.ActiveWindow.View.Slide
Dim _P As PowerPoint.Shape = _S.Shapes.AddPicture2(file2, MsoTriState.msoFalse, MsoTriState.msoTrue, 0, 0, _W, _H)
しかし、それは間違っているテンプレート状に画像を置きます。
新しい形状を追加せずに図形内のイメージを実際に置き換える方法はありますか?
あなたは[これを]試してみましたか(https://social.msdn.microsoft.com/Forums/en-US/39eb7cf4-2e85-4010-8e6a-10da20b352f7/replacing-changing-the-pictures-in-powerpoint-プレゼンテーション?forum = isvvba) –
これはまさにポイントです。すべてのメソッドは古いシェイプを削除し、新しいタイプのイメージをタイプImageと挿入しているようです。しかし、私はaddtional shapeholdersを持っているテンプレートを持っているので、AddPictureメソッドは、私が絶対に望ましくないものの1つにイメージを挿入します。私は、既存の図形内の実際のイメージを置き換える方法を探しています。 – user3432565